home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 April: Mac OS SDK / Dev.CD Apr 98 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / AIncludes / ImageCompression.a < prev    next >
Encoding:
Text File  |  1998-02-12  |  95.6 KB  |  3,152 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        ImageCompression.a
  3. ;
  4. ;    Contains:    QuickTime Image Compression Interfaces.
  5. ;
  6. ;    Version:    Technology:    QuickTime 3.0
  7. ;                Release:    Universal Interfaces 3.1
  8. ;
  9. ;    Copyright:    © 1990-1998 by Apple Computer, Inc., all rights reserved
  10. ;
  11. ;    Bugs?:        Please include the the file and version information (from above) with
  12. ;                the problem description.  Developers belonging to one of the Apple
  13. ;                developer programs can submit bug reports to:
  14. ;
  15. ;                    devsupport@apple.com
  16. ;
  17. ;
  18.     IF &TYPE('__IMAGECOMPRESSION__') = 'UNDEFINED' THEN
  19. __IMAGECOMPRESSION__ SET 1
  20.  
  21.     IF &TYPE('__MACTYPES__') = 'UNDEFINED' THEN
  22.     include 'MacTypes.a'
  23.     ENDIF
  24.     IF &TYPE('__QUICKDRAW__') = 'UNDEFINED' THEN
  25.     include 'Quickdraw.a'
  26.     ENDIF
  27.     IF &TYPE('__QDOFFSCREEN__') = 'UNDEFINED' THEN
  28.     include 'QDOffscreen.a'
  29.     ENDIF
  30.     IF &TYPE('__COMPONENTS__') = 'UNDEFINED' THEN
  31.     include 'Components.a'
  32.     ENDIF
  33.     IF &TYPE('__STANDARDFILE__') = 'UNDEFINED' THEN
  34.     include 'StandardFile.a'
  35.     ENDIF
  36.  
  37. MatrixRecord            RECORD 0
  38. matrix                     ds.l    3 * 3            ; offset: $0 (0)
  39. sizeof                     EQU *                    ; size:   $24 (36)
  40.                         ENDR
  41. ; typedef struct MatrixRecord *            MatrixRecordPtr
  42.  
  43.  
  44. FixedPoint                RECORD 0
  45. x                         ds.l    1                ; offset: $0 (0)
  46. y                         ds.l    1                ; offset: $4 (4)
  47. sizeof                     EQU *                    ; size:   $8 (8)
  48.                         ENDR
  49.  
  50. FixedRect                RECORD 0
  51. left                     ds.l    1                ; offset: $0 (0)
  52. top                         ds.l    1                ; offset: $4 (4)
  53. right                     ds.l    1                ; offset: $8 (8)
  54. bottom                     ds.l    1                ; offset: $C (12)
  55. sizeof                     EQU *                    ; size:   $10 (16)
  56.                         ENDR
  57.  
  58. kRawCodecType                    EQU        'raw '
  59. kCinepakCodecType                EQU        'cvid'
  60. kGraphicsCodecType                EQU        'smc '
  61. kAnimationCodecType                EQU        'rle '
  62. kVideoCodecType                    EQU        'rpza'
  63. kComponentVideoCodecType        EQU        'yuv2'
  64. kJPEGCodecType                    EQU        'jpeg'
  65. kMotionJPEGACodecType            EQU        'mjpa'
  66. kMotionJPEGBCodecType            EQU        'mjpb'
  67. kSGICodecType                    EQU        '.SGI'
  68. kPlanarRGBCodecType                EQU        '8BPS'
  69. kMacPaintCodecType                EQU        'PNTG'
  70. kGIFCodecType                    EQU        'gif '
  71. kPhotoCDCodecType                EQU        'kpcd'
  72. kQuickDrawGXCodecType            EQU        'qdgx'
  73. kAVRJPEGCodecType                EQU        'avr '
  74. kOpenDMLJPEGCodecType            EQU        'dmb1'
  75. kBMPCodecType                    EQU        'WRLE'
  76. kWindowsRawCodecType            EQU        'WRAW'
  77. kVectorCodecType                EQU        'path'
  78. kQuickDrawCodecType                EQU        'qdrw'
  79. kWaterRippleCodecType            EQU        'ripl'
  80. kFireCodecType                    EQU        'fire'
  81. kCloudCodecType                    EQU        'clou'
  82. kH261CodecType                    EQU        'h261'
  83. kH263CodecType                    EQU        'h263'
  84. kDVCNTSCCodecType                EQU        'dvc '
  85. kDVCPALCodecType                EQU        'dvcp'
  86. kDVCProNTSCCodecType            EQU        'dvpn'
  87. kDVCProPALCodecType                EQU        'dvpp'
  88. kBaseCodecType                    EQU        'base'
  89. kFLCCodecType                    EQU        'flic'
  90. kTargaCodecType                    EQU        'tga '                ;    NOTE: despite what might seem obvious from the two constants
  91.                                                             ;    below and their names, they really are correct. 'yuvu' really 
  92.                                                             ;    does mean signed, and 'yuvs' really does mean unsigned. Really. 
  93. kComponentVideoSigned            EQU        'yuvu'
  94. kComponentVideoUnsigned            EQU        'yuvs'
  95. kCMYKCodecType                    EQU        'cmyk'
  96. kMicrosoftVideo1CodecType        EQU        'msvc'
  97.  
  98. ;  one source effects 
  99.  
  100. kBlurImageFilterType            EQU        'blur'
  101. kSharpenImageFilterType            EQU        'shrp'
  102. kEdgeDetectImageFilterType        EQU        'edge'
  103. kEmbossImageFilterType            EQU        'embs'
  104. kConvolveImageFilterType        EQU        'genk'
  105. kAlphaGainImageFilterType        EQU        'gain'
  106. kRGBColorBalanceImageFilterType    EQU        'rgbb'
  107. kHSLColorBalanceImageFilterType    EQU        'hslb'
  108. kColorSyncImageFilterType        EQU        'sync'
  109. kFilmNoiseImageFilterType        EQU        'fmns'
  110. kSolarizeImageFilterType        EQU        'solr'
  111. kColorTintImageFilterType        EQU        'tint'
  112. ;  two source effects 
  113.  
  114. kAlphaCompositorTransitionType    EQU        'blnd'
  115. kCrossFadeTransitionType        EQU        'dslv'
  116. kChromaKeyTransitionType        EQU        'ckey'
  117. kImplodeTransitionType            EQU        'mplo'
  118. kExplodeTransitionType            EQU        'xplo'
  119. kGradientTransitionType            EQU        'matt'
  120. kPushTransitionType                EQU        'push'
  121. kSlideTransitionType            EQU        'slid'
  122. kWipeTransitionType                EQU        'smpt'
  123. kIrisTransitionType                EQU        'smp2'
  124. kRadialTransitionType            EQU        'smp3'
  125. kMatrixTransitionType            EQU        'smp4'
  126. ;  These are the bits that are set in the Component flags, and also in the codecInfo struct. 
  127.  
  128. codecInfoDoes1                    EQU        $00000001            ; codec can work with 1-bit pixels 
  129. codecInfoDoes2                    EQU        $00000002            ; codec can work with 2-bit pixels 
  130. codecInfoDoes4                    EQU        $00000004            ; codec can work with 4-bit pixels 
  131. codecInfoDoes8                    EQU        $00000008            ; codec can work with 8-bit pixels 
  132. codecInfoDoes16                    EQU        $00000010            ; codec can work with 16-bit pixels 
  133. codecInfoDoes32                    EQU        $00000020            ; codec can work with 32-bit pixels 
  134. codecInfoDoesDither                EQU        $00000040            ; codec can do ditherMode 
  135. codecInfoDoesStretch            EQU        $00000080            ; codec can stretch to arbitrary sizes 
  136. codecInfoDoesShrink                EQU        $00000100            ; codec can shrink to arbitrary sizes 
  137. codecInfoDoesMask                EQU        $00000200            ; codec can mask to clipping regions 
  138. codecInfoDoesTemporal            EQU        $00000400            ; codec can handle temporal redundancy 
  139. codecInfoDoesDouble                EQU        $00000800            ; codec can stretch to double size exactly 
  140. codecInfoDoesQuad                EQU        $00001000            ; codec can stretch to quadruple size exactly 
  141. codecInfoDoesHalf                EQU        $00002000            ; codec can shrink to half size 
  142. codecInfoDoesQuarter            EQU        $00004000            ; codec can shrink to quarter size 
  143. codecInfoDoesRotate                EQU        $00008000            ; codec can rotate on decompress 
  144. codecInfoDoesHorizFlip            EQU        $00010000            ; codec can flip horizontally on decompress 
  145. codecInfoDoesVertFlip            EQU        $00020000            ; codec can flip vertically on decompress 
  146. codecInfoHasEffectParameterList    EQU        $00040000            ; codec implements get effects parameter list call, once was codecInfoDoesSkew 
  147. codecInfoDoesBlend                EQU        $00080000            ; codec can blend on decompress 
  148. codecInfoDoesWarp                EQU        $00100000            ; codec can warp arbitrarily on decompress 
  149. codecInfoDoesRecompress            EQU        $00200000            ; codec can recompress image without accumulating errors 
  150. codecInfoDoesSpool                EQU        $00400000            ; codec can spool image data 
  151. codecInfoDoesRateConstrain        EQU        $00800000            ; codec can data rate constrain 
  152.  
  153.  
  154. codecInfoDepth1                    EQU        $00000001            ; compressed data at 1 bpp depth available 
  155. codecInfoDepth2                    EQU        $00000002            ; compressed data at 2 bpp depth available 
  156. codecInfoDepth4                    EQU        $00000004            ; compressed data at 4 bpp depth available 
  157. codecInfoDepth8                    EQU        $00000008            ; compressed data at 8 bpp depth available 
  158. codecInfoDepth16                EQU        $00000010            ; compressed data at 16 bpp depth available 
  159. codecInfoDepth32                EQU        $00000020            ; compressed data at 32 bpp depth available 
  160. codecInfoDepth24                EQU        $00000040            ; compressed data at 24 bpp depth available 
  161. codecInfoDepth33                EQU        $00000080            ; compressed data at 1 bpp monochrome depth  available 
  162. codecInfoDepth34                EQU        $00000100            ; compressed data at 2 bpp grayscale depth available 
  163. codecInfoDepth36                EQU        $00000200            ; compressed data at 4 bpp grayscale depth available 
  164. codecInfoDepth40                EQU        $00000400            ; compressed data at 8 bpp grayscale depth available 
  165. codecInfoStoresClut                EQU        $00000800            ; compressed data can have custom cluts 
  166. codecInfoDoesLossless            EQU        $00001000            ; compressed data can be stored in lossless format 
  167. codecInfoSequenceSensitive        EQU        $00002000            ; compressed data is sensitive to out of sequence decoding 
  168.  
  169. ;  input sequence flags
  170.  
  171. codecFlagUseImageBuffer            EQU        $00000001            ; decompress
  172. codecFlagUseScreenBuffer        EQU        $00000002            ; decompress
  173. codecFlagUpdatePrevious            EQU        $00000004            ; compress
  174. codecFlagNoScreenUpdate            EQU        $00000008            ; decompress
  175. codecFlagWasCompressed            EQU        $00000010            ; compress
  176. codecFlagDontOffscreen            EQU        $00000020            ; decompress
  177. codecFlagUpdatePreviousComp        EQU        $00000040            ; compress
  178. codecFlagForceKeyFrame            EQU        $00000080            ; compress
  179. codecFlagOnlyScreenUpdate        EQU        $00000100            ; decompress
  180. codecFlagLiveGrab                EQU        $00000200            ; compress
  181. codecFlagDontUseNewImageBuffer    EQU        $00000400            ; decompress
  182. codecFlagInterlaceUpdate        EQU        $00000800            ; decompress
  183. codecFlagCatchUpDiff            EQU        $00001000            ; decompress
  184. codecFlagSupportDisable            EQU        $00002000            ; decompress
  185. codecFlagReenable                EQU        $00004000            ; decompress
  186. ;  output sequence flags
  187.  
  188. codecFlagOutUpdateOnDataSourceChange EQU $00000400
  189. codecFlagSequenceSensitive        EQU        $00000800
  190. codecFlagOutUpdateOnTimeChange    EQU        $00001000
  191. codecFlagImageBufferNotSourceImage EQU    $00002000
  192. codecFlagUsedNewImageBuffer        EQU        $00004000
  193. codecFlagUsedImageBuffer        EQU        $00008000
  194.  
  195.  
  196.  
  197.  
  198.                                                             ; The minimum data size for spooling in or out data 
  199. codecMinimumDataSize            EQU        32768
  200.  
  201.  
  202.  
  203. compressorComponentType            EQU        'imco'                ; the type for "Components" which compress images 
  204. decompressorComponentType        EQU        'imdc'                ; the type for "Components" which decompress images 
  205. ; typedef Component                     CompressorComponent
  206.  
  207. ; typedef Component                     DecompressorComponent
  208.  
  209. ; typedef Component                     CodecComponent
  210.  
  211.  
  212. anyCodec                        EQU        0                    ; take first working codec of given type 
  213. bestSpeedCodec                    EQU        -1                    ; take fastest codec of given type 
  214. bestFidelityCodec                EQU        -2                    ; take codec which is most accurate 
  215. bestCompressionCodec            EQU        -3                    ; take codec of given type that is most accurate 
  216. ; typedef OSType                         CodecType
  217.  
  218. ; typedef unsigned short                 CodecFlags
  219.  
  220. ; typedef unsigned long                 CodecQ
  221.  
  222.  
  223. codecLosslessQuality            EQU        $00000400
  224. codecMaxQuality                    EQU        $000003FF
  225. codecMinQuality                    EQU        $00000000
  226. codecLowQuality                    EQU        $00000100
  227. codecNormalQuality                EQU        $00000200
  228. codecHighQuality                EQU        $00000300
  229.  
  230. codecLockBitsShieldCursor        EQU        $01                    ; shield cursor 
  231.  
  232. codecCompletionSource            EQU        $01                    ; asynchronous codec is done with source data 
  233. codecCompletionDest                EQU        $02                    ; asynchronous codec is done with destination data 
  234. codecCompletionDontUnshield        EQU        $04                    ; on dest complete don't unshield cursor 
  235. codecCompletionWentOffscreen    EQU        $08                    ; codec used offscreen buffer 
  236. codecCompletionUnlockBits        EQU        $10                    ; on dest complete, call ICMSequenceUnlockBits 
  237. codecCompletionForceChainFlush    EQU        $20                    ; ICM needs to flush the whole chain 
  238. codecCompletionDropped            EQU        $40                    ; codec decided to drop this frame 
  239.  
  240. codecProgressOpen                EQU        0
  241. codecProgressUpdatePercent        EQU        1
  242. codecProgressClose                EQU        2
  243. ; typedef void *                        ICMCursorNotify
  244.  
  245. ; typedef long                             ImageSequence
  246.  
  247. ; typedef long                             ImageSequenceDataSource
  248.  
  249. ; typedef long                             ImageTranscodeSequence
  250.  
  251. ; typedef long                             ImageFieldSequence
  252.  
  253. ICMProgressProcRecord    RECORD 0
  254. progressProc             ds.l    1                ; offset: $0 (0)
  255. progressRefCon             ds.l    1                ; offset: $4 (4)
  256. sizeof                     EQU *                    ; size:   $8 (8)
  257.                         ENDR
  258. ; typedef struct ICMProgressProcRecord * ICMProgressProcRecordPtr
  259.  
  260. ICMCompletionProcRecord    RECORD 0
  261. completionProc             ds.l    1                ; offset: $0 (0)
  262. completionRefCon         ds.l    1                ; offset: $4 (4)
  263. sizeof                     EQU *                    ; size:   $8 (8)
  264.                         ENDR
  265. ; typedef struct ICMCompletionProcRecord * ICMCompletionProcRecordPtr
  266.  
  267. ICMDataProcRecord        RECORD 0
  268. dataProc                 ds.l    1                ; offset: $0 (0)
  269. dataRefCon                 ds.l    1                ; offset: $4 (4)
  270. sizeof                     EQU *                    ; size:   $8 (8)
  271.                         ENDR
  272. ; typedef struct ICMDataProcRecord *    ICMDataProcRecordPtr
  273.  
  274. ICMFlushProcRecord        RECORD 0
  275. flushProc                 ds.l    1                ; offset: $0 (0)
  276. flushRefCon                 ds.l    1                ; offset: $4 (4)
  277. sizeof                     EQU *                    ; size:   $8 (8)
  278.                         ENDR
  279. ; typedef struct ICMFlushProcRecord *    ICMFlushProcRecordPtr
  280.  
  281. ICMAlignmentProcRecord    RECORD 0
  282. alignmentProc             ds.l    1                ; offset: $0 (0)
  283. alignmentRefCon             ds.l    1                ; offset: $4 (4)
  284. sizeof                     EQU *                    ; size:   $8 (8)
  285.                         ENDR
  286. ; typedef struct ICMAlignmentProcRecord * ICMAlignmentProcRecordPtr
  287.  
  288. DataRateParams            RECORD 0
  289. dataRate                 ds.l    1                ; offset: $0 (0)
  290. dataOverrun                 ds.l    1                ; offset: $4 (4)
  291. frameDuration             ds.l    1                ; offset: $8 (8)
  292. keyFrameRate             ds.l    1                ; offset: $C (12)
  293. minSpatialQuality         ds.l    1                ; offset: $10 (16)
  294. minTemporalQuality         ds.l    1                ; offset: $14 (20)
  295. sizeof                     EQU *                    ; size:   $18 (24)
  296.                         ENDR
  297. ; typedef struct DataRateParams *        DataRateParamsPtr
  298.  
  299. ImageDescription        RECORD 0
  300. idSize                     ds.l    1                ; offset: $0 (0)        ;  total size of ImageDescription including extra data ( CLUTs and other per sequence data ) 
  301. cType                     ds.l    1                ; offset: $4 (4)        ;  what kind of codec compressed this data 
  302. resvd1                     ds.l    1                ; offset: $8 (8)        ;  reserved for Apple use 
  303. resvd2                     ds.w    1                ; offset: $C (12)        ;  reserved for Apple use 
  304. dataRefIndex             ds.w    1                ; offset: $E (14)        ;  set to zero  
  305. version                     ds.w    1                ; offset: $10 (16)        ;  which version is this data 
  306. revisionLevel             ds.w    1                ; offset: $12 (18)        ;  what version of that codec did this 
  307. vendor                     ds.l    1                ; offset: $14 (20)        ;  whose  codec compressed this data 
  308. temporalQuality             ds.l    1                ; offset: $18 (24)        ;  what was the temporal quality factor  
  309. spatialQuality             ds.l    1                ; offset: $1C (28)        ;  what was the spatial quality factor 
  310. width                     ds.w    1                ; offset: $20 (32)        ;  how many pixels wide is this data 
  311. height                     ds.w    1                ; offset: $22 (34)        ;  how many pixels high is this data 
  312. hRes                     ds.l    1                ; offset: $24 (36)        ;  horizontal resolution 
  313. vRes                     ds.l    1                ; offset: $28 (40)        ;  vertical resolution 
  314. dataSize                 ds.l    1                ; offset: $2C (44)        ;  if known, the size of data for this image descriptor 
  315. frameCount                 ds.w    1                ; offset: $30 (48)        ;  number of frames this description applies to 
  316. name                     ds        Str31            ; offset: $32 (50)        ;  name of codec ( in case not installed )  
  317. depth                     ds.w    1                ; offset: $52 (82)        ;  what depth is this data (1-32) or ( 33-40 grayscale ) 
  318. clutID                     ds.w    1                ; offset: $54 (84)        ;  clut id or if 0 clut follows  or -1 if no clut 
  319. sizeof                     EQU *                    ; size:   $56 (86)
  320.                         ENDR
  321. ; typedef struct ImageDescription *        ImageDescriptionPtr
  322.  
  323. ; typedef ImageDescriptionPtr *            ImageDescriptionHandle
  324.  
  325. CodecInfo                RECORD 0
  326. typeName                 ds        Str31            ; offset: $0 (0)        ;  name of the codec type i.e.: 'Apple Image Compression' 
  327. version                     ds.w    1                ; offset: $20 (32)        ;  version of the codec data that this codec knows about 
  328. revisionLevel             ds.w    1                ; offset: $22 (34)        ;  revision level of this codec i.e: 0x00010001 (1.0.1) 
  329. vendor                     ds.l    1                ; offset: $24 (36)        ;  Maker of this codec i.e: 'appl' 
  330. decompressFlags             ds.l    1                ; offset: $28 (40)        ;  codecInfo flags for decompression capabilities 
  331. compressFlags             ds.l    1                ; offset: $2C (44)        ;  codecInfo flags for compression capabilities 
  332. formatFlags                 ds.l    1                ; offset: $30 (48)        ;  codecInfo flags for compression format details 
  333. compressionAccuracy         ds.b    1                ; offset: $34 (52)        ;  measure (1-255) of accuracy of this codec for compress (0 if unknown) 
  334. decompressionAccuracy     ds.b    1                ; offset: $35 (53)        ;  measure (1-255) of accuracy of this codec for decompress (0 if unknown) 
  335. compressionSpeed         ds.w    1                ; offset: $36 (54)        ;  ( millisecs for compressing 320x240 on base mac II) (0 if unknown)  
  336. decompressionSpeed         ds.w    1                ; offset: $38 (56)        ;  ( millisecs for decompressing 320x240 on mac II)(0 if unknown)  
  337. compressionLevel         ds.b    1                ; offset: $3A (58)        ;  measure (1-255) of compression level of this codec (0 if unknown)  
  338. resvd                     ds.b    1                ; offset: $3B (59)        ;  pad 
  339. minimumHeight             ds.w    1                ; offset: $3C (60)        ;  minimum height of image (block size) 
  340. minimumWidth             ds.w    1                ; offset: $3E (62)        ;  minimum width of image (block size) 
  341. decompressPipelineLatency  ds.w    1                ; offset: $40 (64)        ;  in milliseconds ( for asynchronous codecs ) 
  342. compressPipelineLatency     ds.w    1                ; offset: $42 (66)        ;  in milliseconds ( for asynchronous codecs ) 
  343. privateData                 ds.l    1                ; offset: $44 (68)
  344. sizeof                     EQU *                    ; size:   $48 (72)
  345.                         ENDR
  346. CodecNameSpec            RECORD 0
  347. codec                     ds.l    1                ; offset: $0 (0)
  348. cType                     ds.l    1                ; offset: $4 (4)
  349. typeName                 ds        Str31            ; offset: $8 (8)
  350. name                     ds.l    1                ; offset: $28 (40)
  351. sizeof                     EQU *                    ; size:   $2C (44)
  352.                         ENDR
  353. CodecNameSpecList        RECORD 0
  354. count                     ds.w    1                ; offset: $0 (0)
  355. list                     ds        CodecNameSpec    ; offset: $2 (2) <-- really an array of length one
  356. sizeof                     EQU *                    ; size:   $2E (46)
  357.                         ENDR
  358. ; typedef struct CodecNameSpecList *    CodecNameSpecListPtr
  359.  
  360.  
  361. defaultDither                    EQU        0
  362. forceDither                        EQU        1
  363. suppressDither                    EQU        2
  364. useColorMatching                EQU        4
  365.  
  366. callStdBits                        EQU        1
  367. callOldBits                        EQU        2
  368. noDefaultOpcodes                EQU        4
  369.  
  370. graphicsModeStraightAlpha        EQU        256
  371. graphicsModePreWhiteAlpha        EQU        257
  372. graphicsModePreBlackAlpha        EQU        258
  373. graphicsModeComposition            EQU        259
  374. graphicsModeStraightAlphaBlend    EQU        260
  375. graphicsModePreMulColorAlpha    EQU        261
  376.  
  377. evenField1ToEvenFieldOut        EQU        $01
  378. evenField1ToOddFieldOut            EQU        $02
  379. oddField1ToEvenFieldOut            EQU        $04
  380. oddField1ToOddFieldOut            EQU        $08
  381. evenField2ToEvenFieldOut        EQU        $10
  382. evenField2ToOddFieldOut            EQU        $20
  383. oddField2ToEvenFieldOut            EQU        $40
  384. oddField2ToOddFieldOut            EQU        $80
  385.  
  386. icmFrameTimeHasVirtualStartTimeAndDuration EQU $01
  387. ICMFrameTimeRecord        RECORD 0
  388. value                     ds        wide            ; offset: $0 (0)        ;  frame time
  389. scale                     ds.l    1                ; offset: $8 (8)        ;  timescale of value/duration fields
  390. base                     ds.l    1                ; offset: $C (12)        ;  timebase
  391. duration                 ds.l    1                ; offset: $10 (16)        ;  duration frame is to be displayed (0 if unknown)
  392. rate                     ds.l    1                ; offset: $14 (20)        ;  rate of timebase relative to wall-time
  393. recordSize                 ds.l    1                ; offset: $18 (24)        ;  total number of bytes in ICMFrameTimeRecord
  394. frameNumber                 ds.l    1                ; offset: $1C (28)        ;  number of frame, zero if not known
  395. flags                     ds.l    1                ; offset: $20 (32)
  396. virtualStartTime         ds        wide            ; offset: $24 (36)        ;  conceptual start time
  397. virtualDuration             ds.l    1                ; offset: $2C (44)        ;  conceptual duration
  398. sizeof                     EQU *                    ; size:   $30 (48)
  399.                         ENDR
  400. ; typedef struct ICMFrameTimeRecord *    ICMFrameTimePtr
  401.  
  402.  
  403. ;
  404. ; pascal OSErr CodecManagerVersion(long *version)
  405. ;
  406.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  407.         Macro
  408.         _CodecManagerVersion
  409.             moveq               #0,D0
  410.             dc.w                $AAA3
  411.         EndM
  412.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  413.         IMPORT_CFM_FUNCTION CodecManagerVersion
  414.     ENDIF
  415.  
  416. ;
  417. ; pascal OSErr GetCodecNameList(CodecNameSpecListPtr *list, short showAll)
  418. ;
  419.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  420.         Macro
  421.         _GetCodecNameList
  422.             moveq               #1,D0
  423.             dc.w                $AAA3
  424.         EndM
  425.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  426.         IMPORT_CFM_FUNCTION GetCodecNameList
  427.     ENDIF
  428.  
  429. ;
  430. ; pascal OSErr DisposeCodecNameList(CodecNameSpecListPtr list)
  431. ;
  432.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  433.         Macro
  434.         _DisposeCodecNameList
  435.             moveq               #15,D0
  436.             dc.w                $AAA3
  437.         EndM
  438.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  439.         IMPORT_CFM_FUNCTION DisposeCodecNameList
  440.     ENDIF
  441.  
  442. ;
  443. ; pascal OSErr GetCodecInfo(CodecInfo *info, CodecType cType, CodecComponent codec)
  444. ;
  445.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  446.         Macro
  447.         _GetCodecInfo
  448.             moveq               #3,D0
  449.             dc.w                $AAA3
  450.         EndM
  451.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  452.         IMPORT_CFM_FUNCTION GetCodecInfo
  453.     ENDIF
  454.  
  455. ;
  456. ; pascal OSErr GetMaxCompressionSize(PixMapHandle src, const Rect *srcRect, short colorDepth, CodecQ quality, CodecType cType, CompressorComponent codec, long *size)
  457. ;
  458.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  459.         Macro
  460.         _GetMaxCompressionSize
  461.             moveq               #4,D0
  462.             dc.w                $AAA3
  463.         EndM
  464.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  465.         IMPORT_CFM_FUNCTION GetMaxCompressionSize
  466.     ENDIF
  467.  
  468. ;
  469. ; pascal OSErr GetCSequenceMaxCompressionSize(ImageSequence seqID, PixMapHandle src, long *size)
  470. ;
  471.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  472.         Macro
  473.         _GetCSequenceMaxCompressionSize
  474.             move.l              #$000C0074,D0
  475.             dc.w                $AAA3
  476.         EndM
  477.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  478.         IMPORT_CFM_FUNCTION GetCSequenceMaxCompressionSize
  479.     ENDIF
  480.  
  481. ;
  482. ; pascal OSErr GetCompressionTime(PixMapHandle src, const Rect *srcRect, short colorDepth, CodecType cType, CompressorComponent codec, CodecQ *spatialQuality, CodecQ *temporalQuality, unsigned long *compressTime)
  483. ;
  484.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  485.         Macro
  486.         _GetCompressionTime
  487.             moveq               #5,D0
  488.             dc.w                $AAA3
  489.         EndM
  490.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  491.         IMPORT_CFM_FUNCTION GetCompressionTime
  492.     ENDIF
  493.  
  494. ;
  495. ; pascal OSErr CompressImage(PixMapHandle src, const Rect *srcRect, CodecQ quality, CodecType cType, ImageDescriptionHandle desc, Ptr data)
  496. ;
  497.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  498.         Macro
  499.         _CompressImage
  500.             moveq               #6,D0
  501.             dc.w                $AAA3
  502.         EndM
  503.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  504.         IMPORT_CFM_FUNCTION CompressImage
  505.     ENDIF
  506.  
  507. ;
  508. ; pascal OSErr FCompressImage(PixMapHandle src, const Rect *srcRect, short colorDepth, CodecQ quality, CodecType cType, CompressorComponent codec, CTabHandle ctable, CodecFlags flags, long bufferSize, ICMFlushProcRecordPtr flushProc, ICMProgressProcRecordPtr progressProc, ImageDescriptionHandle desc, Ptr data)
  509. ;
  510.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  511.         Macro
  512.         _FCompressImage
  513.             moveq               #7,D0
  514.             dc.w                $AAA3
  515.         EndM
  516.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  517.         IMPORT_CFM_FUNCTION FCompressImage
  518.     ENDIF
  519.  
  520. ;
  521. ; pascal OSErr DecompressImage(Ptr data, ImageDescriptionHandle desc, PixMapHandle dst, const Rect *srcRect, const Rect *dstRect, short mode, RgnHandle mask)
  522. ;
  523.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  524.         Macro
  525.         _DecompressImage
  526.             moveq               #8,D0
  527.             dc.w                $AAA3
  528.         EndM
  529.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  530.         IMPORT_CFM_FUNCTION DecompressImage
  531.     ENDIF
  532.  
  533. ;
  534. ; pascal OSErr FDecompressImage(Ptr data, ImageDescriptionHandle desc, PixMapHandle dst, const Rect *srcRect, MatrixRecordPtr matrix, short mode, RgnHandle mask, PixMapHandle matte, const Rect *matteRect, CodecQ accuracy, DecompressorComponent codec, long bufferSize, ICMDataProcRecordPtr dataProc, ICMProgressProcRecordPtr progressProc)
  535. ;
  536.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  537.         Macro
  538.         _FDecompressImage
  539.             moveq               #9,D0
  540.             dc.w                $AAA3
  541.         EndM
  542.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  543.         IMPORT_CFM_FUNCTION FDecompressImage
  544.     ENDIF
  545.  
  546. ;
  547. ; pascal OSErr CompressSequenceBegin(ImageSequence *seqID, PixMapHandle src, PixMapHandle prev, const Rect *srcRect, const Rect *prevRect, short colorDepth, CodecType cType, CompressorComponent codec, CodecQ spatialQuality, CodecQ temporalQuality, long keyFrameRate, CTabHandle ctable, CodecFlags flags, ImageDescriptionHandle desc)
  548. ;
  549.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  550.         Macro
  551.         _CompressSequenceBegin
  552.             moveq               #10,D0
  553.             dc.w                $AAA3
  554.         EndM
  555.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  556.         IMPORT_CFM_FUNCTION CompressSequenceBegin
  557.     ENDIF
  558.  
  559. ;
  560. ; pascal OSErr CompressSequenceFrame(ImageSequence seqID, PixMapHandle src, const Rect *srcRect, CodecFlags flags, Ptr data, long *dataSize, UInt8 *similarity, ICMCompletionProcRecordPtr asyncCompletionProc)
  561. ;
  562.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  563.         Macro
  564.         _CompressSequenceFrame
  565.             moveq               #11,D0
  566.             dc.w                $AAA3
  567.         EndM
  568.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  569.         IMPORT_CFM_FUNCTION CompressSequenceFrame
  570.     ENDIF
  571.  
  572. ;
  573. ; pascal OSErr DecompressSequenceBegin(ImageSequence *seqID, ImageDescriptionHandle desc, CGrafPtr port, GDHandle gdh, const Rect *srcRect, MatrixRecordPtr matrix, short mode, RgnHandle mask, CodecFlags flags, CodecQ accuracy, DecompressorComponent codec)
  574. ;
  575.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  576.         Macro
  577.         _DecompressSequenceBegin
  578.             moveq               #13,D0
  579.             dc.w                $AAA3
  580.         EndM
  581.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  582.         IMPORT_CFM_FUNCTION DecompressSequenceBegin
  583.     ENDIF
  584.  
  585. ;
  586. ; pascal OSErr DecompressSequenceBeginS(ImageSequence *seqID, ImageDescriptionHandle desc, Ptr data, long dataSize, CGrafPtr port, GDHandle gdh, const Rect *srcRect, MatrixRecordPtr matrix, short mode, RgnHandle mask, CodecFlags flags, CodecQ accuracy, DecompressorComponent codec)
  587. ;
  588.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  589.         Macro
  590.         _DecompressSequenceBeginS
  591.             move.l              #$0030005D,D0
  592.             dc.w                $AAA3
  593.         EndM
  594.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  595.         IMPORT_CFM_FUNCTION DecompressSequenceBeginS
  596.     ENDIF
  597.  
  598. ;
  599. ; pascal OSErr DecompressSequenceFrame(ImageSequence seqID, Ptr data, CodecFlags inFlags, CodecFlags *outFlags, ICMCompletionProcRecordPtr asyncCompletionProc)
  600. ;
  601.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  602.         Macro
  603.         _DecompressSequenceFrame
  604.             moveq               #14,D0
  605.             dc.w                $AAA3
  606.         EndM
  607.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  608.         IMPORT_CFM_FUNCTION DecompressSequenceFrame
  609.     ENDIF
  610.  
  611. ;
  612. ; pascal OSErr DecompressSequenceFrameS(ImageSequence seqID, Ptr data, long dataSize, CodecFlags inFlags, CodecFlags *outFlags, ICMCompletionProcRecordPtr asyncCompletionProc)
  613. ;
  614.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  615.         Macro
  616.         _DecompressSequenceFrameS
  617.             move.l              #$00160047,D0
  618.             dc.w                $AAA3
  619.         EndM
  620.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  621.         IMPORT_CFM_FUNCTION DecompressSequenceFrameS
  622.     ENDIF
  623.  
  624. ;
  625. ; pascal OSErr DecompressSequenceFrameWhen(ImageSequence seqID, Ptr data, long dataSize, CodecFlags inFlags, CodecFlags *outFlags, ICMCompletionProcRecordPtr asyncCompletionProc, const ICMFrameTimeRecord *frameTime)
  626. ;
  627.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  628.         Macro
  629.         _DecompressSequenceFrameWhen
  630.             move.l              #$001A005E,D0
  631.             dc.w                $AAA3
  632.         EndM
  633.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  634.         IMPORT_CFM_FUNCTION DecompressSequenceFrameWhen
  635.     ENDIF
  636.  
  637. ;
  638. ; pascal OSErr CDSequenceFlush(ImageSequence seqID)
  639. ;
  640.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  641.         Macro
  642.         _CDSequenceFlush
  643.             move.l              #$0004005F,D0
  644.             dc.w                $AAA3
  645.         EndM
  646.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  647.         IMPORT_CFM_FUNCTION CDSequenceFlush
  648.     ENDIF
  649.  
  650. ;
  651. ; pascal OSErr SetDSequenceMatrix(ImageSequence seqID, MatrixRecordPtr matrix)
  652. ;
  653.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  654.         Macro
  655.         _SetDSequenceMatrix
  656.             moveq               #16,D0
  657.             dc.w                $AAA3
  658.         EndM
  659.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  660.         IMPORT_CFM_FUNCTION SetDSequenceMatrix
  661.     ENDIF
  662.  
  663. ;
  664. ; pascal OSErr SetDSequenceMatte(ImageSequence seqID, PixMapHandle matte, const Rect *matteRect)
  665. ;
  666.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  667.         Macro
  668.         _SetDSequenceMatte
  669.             moveq               #17,D0
  670.             dc.w                $AAA3
  671.         EndM
  672.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  673.         IMPORT_CFM_FUNCTION SetDSequenceMatte
  674.     ENDIF
  675.  
  676. ;
  677. ; pascal OSErr SetDSequenceMask(ImageSequence seqID, RgnHandle mask)
  678. ;
  679.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  680.         Macro
  681.         _SetDSequenceMask
  682.             moveq               #18,D0
  683.             dc.w                $AAA3
  684.         EndM
  685.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  686.         IMPORT_CFM_FUNCTION SetDSequenceMask
  687.     ENDIF
  688.  
  689. ;
  690. ; pascal OSErr SetDSequenceTransferMode(ImageSequence seqID, short mode, const RGBColor *opColor)
  691. ;
  692.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  693.         Macro
  694.         _SetDSequenceTransferMode
  695.             moveq               #19,D0
  696.             dc.w                $AAA3
  697.         EndM
  698.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  699.         IMPORT_CFM_FUNCTION SetDSequenceTransferMode
  700.     ENDIF
  701.  
  702. ;
  703. ; pascal OSErr SetDSequenceDataProc(ImageSequence seqID, ICMDataProcRecordPtr dataProc, long bufferSize)
  704. ;
  705.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  706.         Macro
  707.         _SetDSequenceDataProc
  708.             moveq               #20,D0
  709.             dc.w                $AAA3
  710.         EndM
  711.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  712.         IMPORT_CFM_FUNCTION SetDSequenceDataProc
  713.     ENDIF
  714.  
  715. ;
  716. ; pascal OSErr SetDSequenceAccuracy(ImageSequence seqID, CodecQ accuracy)
  717. ;
  718.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  719.         Macro
  720.         _SetDSequenceAccuracy
  721.             moveq               #52,D0
  722.             dc.w                $AAA3
  723.         EndM
  724.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  725.         IMPORT_CFM_FUNCTION SetDSequenceAccuracy
  726.     ENDIF
  727.  
  728. ;
  729. ; pascal OSErr SetDSequenceSrcRect(ImageSequence seqID, const Rect *srcRect)
  730. ;
  731.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  732.         Macro
  733.         _SetDSequenceSrcRect
  734.             moveq               #53,D0
  735.             dc.w                $AAA3
  736.         EndM
  737.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  738.         IMPORT_CFM_FUNCTION SetDSequenceSrcRect
  739.     ENDIF
  740.  
  741.  
  742. ;
  743. ; pascal OSErr GetDSequenceImageBuffer(ImageSequence seqID, GWorldPtr *gworld)
  744. ;
  745.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  746.         Macro
  747.         _GetDSequenceImageBuffer
  748.             moveq               #21,D0
  749.             dc.w                $AAA3
  750.         EndM
  751.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  752.         IMPORT_CFM_FUNCTION GetDSequenceImageBuffer
  753.     ENDIF
  754.  
  755. ;
  756. ; pascal OSErr GetDSequenceScreenBuffer(ImageSequence seqID, GWorldPtr *gworld)
  757. ;
  758.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  759.         Macro
  760.         _GetDSequenceScreenBuffer
  761.             moveq               #22,D0
  762.             dc.w                $AAA3
  763.         EndM
  764.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  765.         IMPORT_CFM_FUNCTION GetDSequenceScreenBuffer
  766.     ENDIF
  767.  
  768. ;
  769. ; pascal OSErr SetCSequenceQuality(ImageSequence seqID, CodecQ spatialQuality, CodecQ temporalQuality)
  770. ;
  771.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  772.         Macro
  773.         _SetCSequenceQuality
  774.             moveq               #23,D0
  775.             dc.w                $AAA3
  776.         EndM
  777.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  778.         IMPORT_CFM_FUNCTION SetCSequenceQuality
  779.     ENDIF
  780.  
  781. ;
  782. ; pascal OSErr SetCSequencePrev(ImageSequence seqID, PixMapHandle prev, const Rect *prevRect)
  783. ;
  784.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  785.         Macro
  786.         _SetCSequencePrev
  787.             moveq               #24,D0
  788.             dc.w                $AAA3
  789.         EndM
  790.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  791.         IMPORT_CFM_FUNCTION SetCSequencePrev
  792.     ENDIF
  793.  
  794. ;
  795. ; pascal OSErr SetCSequenceFlushProc(ImageSequence seqID, ICMFlushProcRecordPtr flushProc, long bufferSize)
  796. ;
  797.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  798.         Macro
  799.         _SetCSequenceFlushProc
  800.             moveq               #51,D0
  801.             dc.w                $AAA3
  802.         EndM
  803.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  804.         IMPORT_CFM_FUNCTION SetCSequenceFlushProc
  805.     ENDIF
  806.  
  807. ;
  808. ; pascal OSErr SetCSequenceKeyFrameRate(ImageSequence seqID, long keyFrameRate)
  809. ;
  810.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  811.         Macro
  812.         _SetCSequenceKeyFrameRate
  813.             moveq               #54,D0
  814.             dc.w                $AAA3
  815.         EndM
  816.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  817.         IMPORT_CFM_FUNCTION SetCSequenceKeyFrameRate
  818.     ENDIF
  819.  
  820. ;
  821. ; pascal OSErr GetCSequenceKeyFrameRate(ImageSequence seqID, long *keyFrameRate)
  822. ;
  823.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  824.         Macro
  825.         _GetCSequenceKeyFrameRate
  826.             move.l              #$0008004B,D0
  827.             dc.w                $AAA3
  828.         EndM
  829.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  830.         IMPORT_CFM_FUNCTION GetCSequenceKeyFrameRate
  831.     ENDIF
  832.  
  833. ;
  834. ; pascal OSErr GetCSequencePrevBuffer(ImageSequence seqID, GWorldPtr *gworld)
  835. ;
  836.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  837.         Macro
  838.         _GetCSequencePrevBuffer
  839.             moveq               #25,D0
  840.             dc.w                $AAA3
  841.         EndM
  842.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  843.         IMPORT_CFM_FUNCTION GetCSequencePrevBuffer
  844.     ENDIF
  845.  
  846. ;
  847. ; pascal OSErr CDSequenceBusy(ImageSequence seqID)
  848. ;
  849.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  850.         Macro
  851.         _CDSequenceBusy
  852.             moveq               #26,D0
  853.             dc.w                $AAA3
  854.         EndM
  855.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  856.         IMPORT_CFM_FUNCTION CDSequenceBusy
  857.     ENDIF
  858.  
  859. ;
  860. ; pascal OSErr CDSequenceEnd(ImageSequence seqID)
  861. ;
  862.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  863.         Macro
  864.         _CDSequenceEnd
  865.             moveq               #27,D0
  866.             dc.w                $AAA3
  867.         EndM
  868.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  869.         IMPORT_CFM_FUNCTION CDSequenceEnd
  870.     ENDIF
  871.  
  872. ;
  873. ; pascal OSErr CDSequenceEquivalentImageDescription(ImageSequence seqID, ImageDescriptionHandle newDesc, Boolean *equivalent)
  874. ;
  875.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  876.         Macro
  877.         _CDSequenceEquivalentImageDescription
  878.             move.l              #$000C0065,D0
  879.             dc.w                $AAA3
  880.         EndM
  881.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  882.         IMPORT_CFM_FUNCTION CDSequenceEquivalentImageDescription
  883.     ENDIF
  884.  
  885. ;
  886. ; pascal OSErr GetCompressedImageSize(ImageDescriptionHandle desc, Ptr data, long bufferSize, ICMDataProcRecordPtr dataProc, long *dataSize)
  887. ;
  888.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  889.         Macro
  890.         _GetCompressedImageSize
  891.             moveq               #28,D0
  892.             dc.w                $AAA3
  893.         EndM
  894.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  895.         IMPORT_CFM_FUNCTION GetCompressedImageSize
  896.     ENDIF
  897.  
  898. ;
  899. ; pascal OSErr GetSimilarity(PixMapHandle src, const Rect *srcRect, ImageDescriptionHandle desc, Ptr data, Fixed *similarity)
  900. ;
  901.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  902.         Macro
  903.         _GetSimilarity
  904.             moveq               #29,D0
  905.             dc.w                $AAA3
  906.         EndM
  907.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  908.         IMPORT_CFM_FUNCTION GetSimilarity
  909.     ENDIF
  910.  
  911.  
  912. kImageDescriptionSampleFormat    EQU        'idfm'                ; image description extension describing sample format
  913. kImageDescriptionClassicAtomFormat EQU    'atom'                ; sample contains classic atom structure (ie, GX codec and Curve codec)
  914. kImageDescriptionQTAtomFormat    EQU        'qtat'                ; sample contains QT atom structure
  915. kImageDescriptionEffectDataFormat EQU    'fxat'                ; sample describes an effect (as QTAtoms)
  916. kImageDescriptionPrivateDataFormat EQU    'priv'                ; sample is in a private codec specific format
  917. kImageDescriptionAlternateCodec    EQU        'subs'                ; image description extension containing the OSType of a substitute codec should the main codec not be available
  918. ;
  919. ; pascal OSErr GetImageDescriptionCTable(ImageDescriptionHandle desc, CTabHandle *ctable)
  920. ;
  921.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  922.         Macro
  923.         _GetImageDescriptionCTable
  924.             moveq               #30,D0
  925.             dc.w                $AAA3
  926.         EndM
  927.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  928.         IMPORT_CFM_FUNCTION GetImageDescriptionCTable
  929.     ENDIF
  930.  
  931. ;
  932. ; pascal OSErr SetImageDescriptionCTable(ImageDescriptionHandle desc, CTabHandle ctable)
  933. ;
  934.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  935.         Macro
  936.         _SetImageDescriptionCTable
  937.             moveq               #31,D0
  938.             dc.w                $AAA3
  939.         EndM
  940.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  941.         IMPORT_CFM_FUNCTION SetImageDescriptionCTable
  942.     ENDIF
  943.  
  944. ;
  945. ; pascal OSErr GetImageDescriptionExtension(ImageDescriptionHandle desc, Handle *extension, long idType, long index)
  946. ;
  947.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  948.         Macro
  949.         _GetImageDescriptionExtension
  950.             moveq               #32,D0
  951.             dc.w                $AAA3
  952.         EndM
  953.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  954.         IMPORT_CFM_FUNCTION GetImageDescriptionExtension
  955.     ENDIF
  956.  
  957. ;
  958. ; pascal OSErr AddImageDescriptionExtension(ImageDescriptionHandle desc, Handle extension, long idType)
  959. ;
  960.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  961.         Macro
  962.         _AddImageDescriptionExtension
  963.             moveq               #33,D0
  964.             dc.w                $AAA3
  965.         EndM
  966.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  967.         IMPORT_CFM_FUNCTION AddImageDescriptionExtension
  968.     ENDIF
  969.  
  970. ;
  971. ; pascal OSErr RemoveImageDescriptionExtension(ImageDescriptionHandle desc, long idType, long index)
  972. ;
  973.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  974.         Macro
  975.         _RemoveImageDescriptionExtension
  976.             move.l              #$000C003A,D0
  977.             dc.w                $AAA3
  978.         EndM
  979.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  980.         IMPORT_CFM_FUNCTION RemoveImageDescriptionExtension
  981.     ENDIF
  982.  
  983. ;
  984. ; pascal OSErr CountImageDescriptionExtensionType(ImageDescriptionHandle desc, long idType, long *count)
  985. ;
  986.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  987.         Macro
  988.         _CountImageDescriptionExtensionType
  989.             move.l              #$000C003B,D0
  990.             dc.w                $AAA3
  991.         EndM
  992.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  993.         IMPORT_CFM_FUNCTION CountImageDescriptionExtensionType
  994.     ENDIF
  995.  
  996. ;
  997. ; pascal OSErr GetNextImageDescriptionExtensionType(ImageDescriptionHandle desc, long *idType)
  998. ;
  999.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1000.         Macro
  1001.         _GetNextImageDescriptionExtensionType
  1002.             move.l              #$0008003C,D0
  1003.             dc.w                $AAA3
  1004.         EndM
  1005.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1006.         IMPORT_CFM_FUNCTION GetNextImageDescriptionExtensionType
  1007.     ENDIF
  1008.  
  1009. ;
  1010. ; pascal OSErr FindCodec(CodecType cType, CodecComponent specCodec, CompressorComponent *compressor, DecompressorComponent *decompressor)
  1011. ;
  1012.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1013.         Macro
  1014.         _FindCodec
  1015.             moveq               #35,D0
  1016.             dc.w                $AAA3
  1017.         EndM
  1018.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1019.         IMPORT_CFM_FUNCTION FindCodec
  1020.     ENDIF
  1021.  
  1022. ;
  1023. ; pascal OSErr CompressPicture(PicHandle srcPicture, PicHandle dstPicture, CodecQ quality, CodecType cType)
  1024. ;
  1025.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1026.         Macro
  1027.         _CompressPicture
  1028.             moveq               #36,D0
  1029.             dc.w                $AAA3
  1030.         EndM
  1031.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1032.         IMPORT_CFM_FUNCTION CompressPicture
  1033.     ENDIF
  1034.  
  1035. ;
  1036. ; pascal OSErr FCompressPicture(PicHandle srcPicture, PicHandle dstPicture, short colorDepth, CTabHandle ctable, CodecQ quality, short doDither, short compressAgain, ICMProgressProcRecordPtr progressProc, CodecType cType, CompressorComponent codec)
  1037. ;
  1038.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1039.         Macro
  1040.         _FCompressPicture
  1041.             moveq               #37,D0
  1042.             dc.w                $AAA3
  1043.         EndM
  1044.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1045.         IMPORT_CFM_FUNCTION FCompressPicture
  1046.     ENDIF
  1047.  
  1048. ;
  1049. ; pascal OSErr CompressPictureFile(short srcRefNum, short dstRefNum, CodecQ quality, CodecType cType)
  1050. ;
  1051.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1052.         Macro
  1053.         _CompressPictureFile
  1054.             moveq               #38,D0
  1055.             dc.w                $AAA3
  1056.         EndM
  1057.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1058.         IMPORT_CFM_FUNCTION CompressPictureFile
  1059.     ENDIF
  1060.  
  1061. ;
  1062. ; pascal OSErr FCompressPictureFile(short srcRefNum, short dstRefNum, short colorDepth, CTabHandle ctable, CodecQ quality, short doDither, short compressAgain, ICMProgressProcRecordPtr progressProc, CodecType cType, CompressorComponent codec)
  1063. ;
  1064.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1065.         Macro
  1066.         _FCompressPictureFile
  1067.             moveq               #39,D0
  1068.             dc.w                $AAA3
  1069.         EndM
  1070.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1071.         IMPORT_CFM_FUNCTION FCompressPictureFile
  1072.     ENDIF
  1073.  
  1074. ;
  1075. ; pascal OSErr GetPictureFileHeader(short refNum, Rect *frame, OpenCPicParams *header)
  1076. ;
  1077.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1078.         Macro
  1079.         _GetPictureFileHeader
  1080.             moveq               #40,D0
  1081.             dc.w                $AAA3
  1082.         EndM
  1083.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1084.         IMPORT_CFM_FUNCTION GetPictureFileHeader
  1085.     ENDIF
  1086.  
  1087. ;
  1088. ; pascal OSErr DrawPictureFile(short refNum, const Rect *frame, ICMProgressProcRecordPtr progressProc)
  1089. ;
  1090.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1091.         Macro
  1092.         _DrawPictureFile
  1093.             moveq               #41,D0
  1094.             dc.w                $AAA3
  1095.         EndM
  1096.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1097.         IMPORT_CFM_FUNCTION DrawPictureFile
  1098.     ENDIF
  1099.  
  1100. ;
  1101. ; pascal OSErr DrawTrimmedPicture(PicHandle srcPicture, const Rect *frame, RgnHandle trimMask, short doDither, ICMProgressProcRecordPtr progressProc)
  1102. ;
  1103.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1104.         Macro
  1105.         _DrawTrimmedPicture
  1106.             moveq               #46,D0
  1107.             dc.w                $AAA3
  1108.         EndM
  1109.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1110.         IMPORT_CFM_FUNCTION DrawTrimmedPicture
  1111.     ENDIF
  1112.  
  1113. ;
  1114. ; pascal OSErr DrawTrimmedPictureFile(short srcRefnum, const Rect *frame, RgnHandle trimMask, short doDither, ICMProgressProcRecordPtr progressProc)
  1115. ;
  1116.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1117.         Macro
  1118.         _DrawTrimmedPictureFile
  1119.             moveq               #47,D0
  1120.             dc.w                $AAA3
  1121.         EndM
  1122.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1123.         IMPORT_CFM_FUNCTION DrawTrimmedPictureFile
  1124.     ENDIF
  1125.  
  1126. ;
  1127. ; pascal OSErr MakeThumbnailFromPicture(PicHandle picture, short colorDepth, PicHandle thumbnail, ICMProgressProcRecordPtr progressProc)
  1128. ;
  1129.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1130.         Macro
  1131.         _MakeThumbnailFromPicture
  1132.             moveq               #42,D0
  1133.             dc.w                $AAA3
  1134.         EndM
  1135.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1136.         IMPORT_CFM_FUNCTION MakeThumbnailFromPicture
  1137.     ENDIF
  1138.  
  1139. ;
  1140. ; pascal OSErr MakeThumbnailFromPictureFile(short refNum, short colorDepth, PicHandle thumbnail, ICMProgressProcRecordPtr progressProc)
  1141. ;
  1142.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1143.         Macro
  1144.         _MakeThumbnailFromPictureFile
  1145.             moveq               #43,D0
  1146.             dc.w                $AAA3
  1147.         EndM
  1148.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1149.         IMPORT_CFM_FUNCTION MakeThumbnailFromPictureFile
  1150.     ENDIF
  1151.  
  1152. ;
  1153. ; pascal OSErr MakeThumbnailFromPixMap(PixMapHandle src, const Rect *srcRect, short colorDepth, PicHandle thumbnail, ICMProgressProcRecordPtr progressProc)
  1154. ;
  1155.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1156.         Macro
  1157.         _MakeThumbnailFromPixMap
  1158.             moveq               #44,D0
  1159.             dc.w                $AAA3
  1160.         EndM
  1161.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1162.         IMPORT_CFM_FUNCTION MakeThumbnailFromPixMap
  1163.     ENDIF
  1164.  
  1165. ;
  1166. ; pascal OSErr TrimImage(ImageDescriptionHandle desc, Ptr inData, long inBufferSize, ICMDataProcRecordPtr dataProc, Ptr outData, long outBufferSize, ICMFlushProcRecordPtr flushProc, Rect *trimRect, ICMProgressProcRecordPtr progressProc)
  1167. ;
  1168.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1169.         Macro
  1170.         _TrimImage
  1171.             moveq               #45,D0
  1172.             dc.w                $AAA3
  1173.         EndM
  1174.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1175.         IMPORT_CFM_FUNCTION TrimImage
  1176.     ENDIF
  1177.  
  1178. ;
  1179. ; pascal OSErr ConvertImage(ImageDescriptionHandle srcDD, Ptr srcData, short colorDepth, CTabHandle ctable, CodecQ accuracy, CodecQ quality, CodecType cType, CodecComponent codec, ImageDescriptionHandle dstDD, Ptr dstData)
  1180. ;
  1181.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1182.         Macro
  1183.         _ConvertImage
  1184.             moveq               #48,D0
  1185.             dc.w                $AAA3
  1186.         EndM
  1187.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1188.         IMPORT_CFM_FUNCTION ConvertImage
  1189.     ENDIF
  1190.  
  1191. ;
  1192. ; pascal OSErr GetCompressedPixMapInfo(PixMapPtr pix, ImageDescriptionHandle *desc, Ptr *data, long *bufferSize, ICMDataProcRecord *dataProc, ICMProgressProcRecord *progressProc)
  1193. ;
  1194.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1195.         Macro
  1196.         _GetCompressedPixMapInfo
  1197.             moveq               #55,D0
  1198.             dc.w                $AAA3
  1199.         EndM
  1200.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1201.         IMPORT_CFM_FUNCTION GetCompressedPixMapInfo
  1202.     ENDIF
  1203.  
  1204. ;
  1205. ; pascal OSErr SetCompressedPixMapInfo(PixMapPtr pix, ImageDescriptionHandle desc, Ptr data, long bufferSize, ICMDataProcRecordPtr dataProc, ICMProgressProcRecordPtr progressProc)
  1206. ;
  1207.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1208.         Macro
  1209.         _SetCompressedPixMapInfo
  1210.             moveq               #56,D0
  1211.             dc.w                $AAA3
  1212.         EndM
  1213.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1214.         IMPORT_CFM_FUNCTION SetCompressedPixMapInfo
  1215.     ENDIF
  1216.  
  1217. ;
  1218. ; pascal void StdPix(PixMapPtr src, const Rect *srcRect, MatrixRecordPtr matrix, short mode, RgnHandle mask, PixMapPtr matte, const Rect *matteRect, short flags)
  1219. ;
  1220.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1221.         Macro
  1222.         _StdPix
  1223.             moveq               #12,D0
  1224.             dc.w                $AAA3
  1225.         EndM
  1226.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1227.         IMPORT_CFM_FUNCTION StdPix
  1228.     ENDIF
  1229.  
  1230. ;
  1231. ; pascal OSErr TransformRgn(MatrixRecordPtr matrix, RgnHandle rgn)
  1232. ;
  1233.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1234.         Macro
  1235.         _TransformRgn
  1236.             moveq               #57,D0
  1237.             dc.w                $AAA3
  1238.         EndM
  1239.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1240.         IMPORT_CFM_FUNCTION TransformRgn
  1241.     ENDIF
  1242.  
  1243.  
  1244. ; ***********
  1245. ;    preview stuff
  1246. ;**********
  1247.  
  1248. ;
  1249. ; pascal void SFGetFilePreview(Point where, ConstStr255Param prompt, FileFilterUPP fileFilter, short numTypes, ConstSFTypeListPtr typeList, DlgHookUPP dlgHook, SFReply *reply)
  1250. ;
  1251.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1252.         Macro
  1253.         _SFGetFilePreview
  1254.             moveq               #65,D0
  1255.             dc.w                $AAA3
  1256.         EndM
  1257.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1258.         IMPORT_CFM_FUNCTION SFGetFilePreview
  1259.     ENDIF
  1260.  
  1261. ;
  1262. ; pascal void SFPGetFilePreview(Point where, ConstStr255Param prompt, FileFilterUPP fileFilter, short numTypes, ConstSFTypeListPtr typeList, DlgHookUPP dlgHook, SFReply *reply, short dlgID, ModalFilterUPP filterProc)
  1263. ;
  1264.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1265.         Macro
  1266.         _SFPGetFilePreview
  1267.             moveq               #66,D0
  1268.             dc.w                $AAA3
  1269.         EndM
  1270.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1271.         IMPORT_CFM_FUNCTION SFPGetFilePreview
  1272.     ENDIF
  1273.  
  1274. ;
  1275. ; pascal void StandardGetFilePreview(FileFilterUPP fileFilter, short numTypes, ConstSFTypeListPtr typeList, StandardFileReply *reply)
  1276. ;
  1277.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1278.         Macro
  1279.         _StandardGetFilePreview
  1280.             moveq               #67,D0
  1281.             dc.w                $AAA3
  1282.         EndM
  1283.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1284.         IMPORT_CFM_FUNCTION StandardGetFilePreview
  1285.     ENDIF
  1286.  
  1287. ;
  1288. ; pascal void CustomGetFilePreview(FileFilterYDUPP fileFilter, short numTypes, ConstSFTypeListPtr typeList, StandardFileReply *reply, short dlgID, Point where, DlgHookYDUPP dlgHook, ModalFilterYDUPP filterProc, ActivationOrderListPtr activeList, ActivateYDUPP activateProc, void *yourDataPtr)
  1289. ;
  1290.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1291.         Macro
  1292.         _CustomGetFilePreview
  1293.             moveq               #68,D0
  1294.             dc.w                $AAA3
  1295.         EndM
  1296.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1297.         IMPORT_CFM_FUNCTION CustomGetFilePreview
  1298.     ENDIF
  1299.  
  1300. ;
  1301. ; pascal OSErr MakeFilePreview(short resRefNum, ICMProgressProcRecordPtr progress)
  1302. ;
  1303.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1304.         Macro
  1305.         _MakeFilePreview
  1306.             moveq               #69,D0
  1307.             dc.w                $AAA3
  1308.         EndM
  1309.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1310.         IMPORT_CFM_FUNCTION MakeFilePreview
  1311.     ENDIF
  1312.  
  1313. ;
  1314. ; pascal OSErr AddFilePreview(short resRefNum, OSType previewType, Handle previewData)
  1315. ;
  1316.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1317.         Macro
  1318.         _AddFilePreview
  1319.             moveq               #70,D0
  1320.             dc.w                $AAA3
  1321.         EndM
  1322.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1323.         IMPORT_CFM_FUNCTION AddFilePreview
  1324.     ENDIF
  1325.  
  1326.  
  1327. sfpItemPreviewAreaUser            EQU        11
  1328. sfpItemPreviewStaticText        EQU        12
  1329. sfpItemPreviewDividerUser        EQU        13
  1330. sfpItemCreatePreviewButton        EQU        14
  1331. sfpItemShowPreviewButton        EQU        15
  1332. PreviewResourceRecord    RECORD 0
  1333. modDate                     ds.l    1                ; offset: $0 (0)
  1334. version                     ds.w    1                ; offset: $4 (4)
  1335. resType                     ds.l    1                ; offset: $6 (6)
  1336. resID                     ds.w    1                ; offset: $A (10)
  1337. sizeof                     EQU *                    ; size:   $C (12)
  1338.                         ENDR
  1339. ; typedef struct PreviewResourceRecord * PreviewResourcePtr
  1340.  
  1341. ; typedef PreviewResourcePtr *            PreviewResource
  1342.  
  1343. ;
  1344. ; pascal void AlignScreenRect(Rect *rp, ICMAlignmentProcRecordPtr alignmentProc)
  1345. ;
  1346.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1347.         Macro
  1348.         _AlignScreenRect
  1349.             move.l              #$0008004C,D0
  1350.             dc.w                $AAA3
  1351.         EndM
  1352.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1353.         IMPORT_CFM_FUNCTION AlignScreenRect
  1354.     ENDIF
  1355.  
  1356. ;
  1357. ; pascal void AlignWindow(WindowPtr wp, Boolean front, const Rect *alignmentRect, ICMAlignmentProcRecordPtr alignmentProc)
  1358. ;
  1359.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1360.         Macro
  1361.         _AlignWindow
  1362.             move.l              #$000E004D,D0
  1363.             dc.w                $AAA3
  1364.         EndM
  1365.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1366.         IMPORT_CFM_FUNCTION AlignWindow
  1367.     ENDIF
  1368.  
  1369. ;
  1370. ; pascal void DragAlignedWindow(WindowPtr wp, Point startPt, Rect *boundsRect, Rect *alignmentRect, ICMAlignmentProcRecordPtr alignmentProc)
  1371. ;
  1372.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1373.         Macro
  1374.         _DragAlignedWindow
  1375.             move.l              #$0014004E,D0
  1376.             dc.w                $AAA3
  1377.         EndM
  1378.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1379.         IMPORT_CFM_FUNCTION DragAlignedWindow
  1380.     ENDIF
  1381.  
  1382. ;
  1383. ; pascal long DragAlignedGrayRgn(RgnHandle theRgn, Point startPt, Rect *boundsRect, Rect *slopRect, short axis, UniversalProcPtr actionProc, Rect *alignmentRect, ICMAlignmentProcRecordPtr alignmentProc)
  1384. ;
  1385.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1386.         Macro
  1387.         _DragAlignedGrayRgn
  1388.             move.l              #$001E004F,D0
  1389.             dc.w                $AAA3
  1390.         EndM
  1391.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1392.         IMPORT_CFM_FUNCTION DragAlignedGrayRgn
  1393.     ENDIF
  1394.  
  1395. ;
  1396. ; pascal OSErr SetCSequenceDataRateParams(ImageSequence seqID, DataRateParamsPtr params)
  1397. ;
  1398.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1399.         Macro
  1400.         _SetCSequenceDataRateParams
  1401.             move.l              #$00080050,D0
  1402.             dc.w                $AAA3
  1403.         EndM
  1404.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1405.         IMPORT_CFM_FUNCTION SetCSequenceDataRateParams
  1406.     ENDIF
  1407.  
  1408. ;
  1409. ; pascal OSErr SetCSequenceFrameNumber(ImageSequence seqID, long frameNumber)
  1410. ;
  1411.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1412.         Macro
  1413.         _SetCSequenceFrameNumber
  1414.             move.l              #$00080051,D0
  1415.             dc.w                $AAA3
  1416.         EndM
  1417.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1418.         IMPORT_CFM_FUNCTION SetCSequenceFrameNumber
  1419.     ENDIF
  1420.  
  1421. ;
  1422. ; pascal OSErr SetCSequencePreferredPacketSize(ImageSequence seqID, long preferredPacketSizeInBytes)
  1423. ;
  1424.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1425.         Macro
  1426.         _SetCSequencePreferredPacketSize
  1427.             move.l              #$00080078,D0
  1428.             dc.w                $AAA3
  1429.         EndM
  1430.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1431.         IMPORT_CFM_FUNCTION SetCSequencePreferredPacketSize
  1432.     ENDIF
  1433.  
  1434. ;
  1435. ; pascal OSErr NewImageGWorld(GWorldPtr *gworld, ImageDescriptionHandle idh, GWorldFlags flags)
  1436. ;
  1437.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1438.         Macro
  1439.         _NewImageGWorld
  1440.             move.l              #$000C0052,D0
  1441.             dc.w                $AAA3
  1442.         EndM
  1443.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1444.         IMPORT_CFM_FUNCTION NewImageGWorld
  1445.     ENDIF
  1446.  
  1447. ;
  1448. ; pascal OSErr GetCSequenceDataRateParams(ImageSequence seqID, DataRateParamsPtr params)
  1449. ;
  1450.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1451.         Macro
  1452.         _GetCSequenceDataRateParams
  1453.             move.l              #$00080053,D0
  1454.             dc.w                $AAA3
  1455.         EndM
  1456.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1457.         IMPORT_CFM_FUNCTION GetCSequenceDataRateParams
  1458.     ENDIF
  1459.  
  1460. ;
  1461. ; pascal OSErr GetCSequenceFrameNumber(ImageSequence seqID, long *frameNumber)
  1462. ;
  1463.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1464.         Macro
  1465.         _GetCSequenceFrameNumber
  1466.             move.l              #$00080054,D0
  1467.             dc.w                $AAA3
  1468.         EndM
  1469.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1470.         IMPORT_CFM_FUNCTION GetCSequenceFrameNumber
  1471.     ENDIF
  1472.  
  1473. ;
  1474. ; pascal OSErr GetBestDeviceRect(GDHandle *gdh, Rect *rp)
  1475. ;
  1476.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1477.         Macro
  1478.         _GetBestDeviceRect
  1479.             move.l              #$00080055,D0
  1480.             dc.w                $AAA3
  1481.         EndM
  1482.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1483.         IMPORT_CFM_FUNCTION GetBestDeviceRect
  1484.     ENDIF
  1485.  
  1486. ;
  1487. ; pascal OSErr SetSequenceProgressProc(ImageSequence seqID, ICMProgressProcRecord *progressProc)
  1488. ;
  1489.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1490.         Macro
  1491.         _SetSequenceProgressProc
  1492.             move.l              #$00080056,D0
  1493.             dc.w                $AAA3
  1494.         EndM
  1495.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1496.         IMPORT_CFM_FUNCTION SetSequenceProgressProc
  1497.     ENDIF
  1498.  
  1499. ;
  1500. ; pascal OSErr GDHasScale(GDHandle gdh, short depth, Fixed *scale)
  1501. ;
  1502.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1503.         Macro
  1504.         _GDHasScale
  1505.             move.l              #$000A005A,D0
  1506.             dc.w                $AAA3
  1507.         EndM
  1508.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1509.         IMPORT_CFM_FUNCTION GDHasScale
  1510.     ENDIF
  1511.  
  1512. ;
  1513. ; pascal OSErr GDGetScale(GDHandle gdh, Fixed *scale, short *flags)
  1514. ;
  1515.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1516.         Macro
  1517.         _GDGetScale
  1518.             move.l              #$000C005B,D0
  1519.             dc.w                $AAA3
  1520.         EndM
  1521.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1522.         IMPORT_CFM_FUNCTION GDGetScale
  1523.     ENDIF
  1524.  
  1525. ;
  1526. ; pascal OSErr GDSetScale(GDHandle gdh, Fixed scale, short flags)
  1527. ;
  1528.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1529.         Macro
  1530.         _GDSetScale
  1531.             move.l              #$000A005C,D0
  1532.             dc.w                $AAA3
  1533.         EndM
  1534.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1535.         IMPORT_CFM_FUNCTION GDSetScale
  1536.     ENDIF
  1537.  
  1538. ;
  1539. ; pascal OSErr ICMShieldSequenceCursor(ImageSequence seqID)
  1540. ;
  1541.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1542.         Macro
  1543.         _ICMShieldSequenceCursor
  1544.             move.l              #$00040062,D0
  1545.             dc.w                $AAA3
  1546.         EndM
  1547.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1548.         IMPORT_CFM_FUNCTION ICMShieldSequenceCursor
  1549.     ENDIF
  1550.  
  1551. ;
  1552. ; pascal void ICMDecompressComplete(ImageSequence seqID, OSErr err, short flag, ICMCompletionProcRecordPtr completionRtn)
  1553. ;
  1554.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1555.         Macro
  1556.         _ICMDecompressComplete
  1557.             move.l              #$000C0063,D0
  1558.             dc.w                $AAA3
  1559.         EndM
  1560.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1561.         IMPORT_CFM_FUNCTION ICMDecompressComplete
  1562.     ENDIF
  1563.  
  1564. ;
  1565. ; pascal OSErr ICMDecompressCompleteS(ImageSequence seqID, OSErr err, short flag, ICMCompletionProcRecordPtr completionRtn)
  1566. ;
  1567.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1568.         Macro
  1569.         _ICMDecompressCompleteS
  1570.             move.l              #$000C0082,D0
  1571.             dc.w                $AAA3
  1572.         EndM
  1573.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1574.         IMPORT_CFM_FUNCTION ICMDecompressCompleteS
  1575.     ENDIF
  1576.  
  1577. ;
  1578. ; pascal OSErr ICMSequenceLockBits(ImageSequence seqID, PixMapPtr dst, long flags)
  1579. ;
  1580.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1581.         Macro
  1582.         _ICMSequenceLockBits
  1583.             move.l              #$000C007C,D0
  1584.             dc.w                $AAA3
  1585.         EndM
  1586.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1587.         IMPORT_CFM_FUNCTION ICMSequenceLockBits
  1588.     ENDIF
  1589.  
  1590. ;
  1591. ; pascal OSErr ICMSequenceUnlockBits(ImageSequence seqID, long flags)
  1592. ;
  1593.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1594.         Macro
  1595.         _ICMSequenceUnlockBits
  1596.             move.l              #$0008007D,D0
  1597.             dc.w                $AAA3
  1598.         EndM
  1599.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1600.         IMPORT_CFM_FUNCTION ICMSequenceUnlockBits
  1601.     ENDIF
  1602.  
  1603. ICMPixelFormatInfo        RECORD 0
  1604. size                     ds.l    1                ; offset: $0 (0)
  1605. formatFlags                 ds.l    1                ; offset: $4 (4)
  1606. pixelSize                 ds.w    1                ; offset: $8 (8)
  1607. reserved0                 ds.w    1                ; offset: $A (10)
  1608. reserved2                 ds.l    1                ; offset: $C (12)
  1609. sizeof                     EQU *                    ; size:   $10 (16)
  1610.                         ENDR
  1611. ; typedef struct ICMPixelFormatInfo *    ICMPixelFormatInfoPtr
  1612.  
  1613. ;
  1614. ; pascal OSErr ICMGetPixelFormatInfo(OSType PixelFormat, ICMPixelFormatInfoPtr theInfo)
  1615. ;
  1616.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1617.         Macro
  1618.         _ICMGetPixelFormatInfo
  1619.             move.l              #$00080083,D0
  1620.             dc.w                $AAA3
  1621.         EndM
  1622.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1623.         IMPORT_CFM_FUNCTION ICMGetPixelFormatInfo
  1624.     ENDIF
  1625.  
  1626.  
  1627. kICMGetChainUltimateParent        EQU        0
  1628. kICMGetChainParent                EQU        1
  1629. kICMGetChainChild                EQU        2
  1630. kICMGetChainUltimateChild        EQU        3
  1631. ;
  1632. ; pascal OSErr ICMSequenceGetChainMember(ImageSequence seqID, ImageSequence *retSeqID, long flags)
  1633. ;
  1634.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1635.         Macro
  1636.         _ICMSequenceGetChainMember
  1637.             move.l              #$000C007E,D0
  1638.             dc.w                $AAA3
  1639.         EndM
  1640.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1641.         IMPORT_CFM_FUNCTION ICMSequenceGetChainMember
  1642.     ENDIF
  1643.  
  1644. ;
  1645. ; pascal OSErr SetDSequenceTimeCode(ImageSequence seqID, void *timeCodeFormat, void *timeCodeTime)
  1646. ;
  1647.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1648.         Macro
  1649.         _SetDSequenceTimeCode
  1650.             move.l              #$000C0064,D0
  1651.             dc.w                $AAA3
  1652.         EndM
  1653.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1654.         IMPORT_CFM_FUNCTION SetDSequenceTimeCode
  1655.     ENDIF
  1656.  
  1657. ;
  1658. ; pascal OSErr CDSequenceNewMemory(ImageSequence seqID, Ptr *data, Size dataSize, long dataUse, ICMMemoryDisposedUPP memoryGoneProc, void *refCon)
  1659. ;
  1660.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1661.         Macro
  1662.         _CDSequenceNewMemory
  1663.             move.l              #$00180066,D0
  1664.             dc.w                $AAA3
  1665.         EndM
  1666.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1667.         IMPORT_CFM_FUNCTION CDSequenceNewMemory
  1668.     ENDIF
  1669.  
  1670. ;
  1671. ; pascal OSErr CDSequenceDisposeMemory(ImageSequence seqID, Ptr data)
  1672. ;
  1673.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1674.         Macro
  1675.         _CDSequenceDisposeMemory
  1676.             move.l              #$00080067,D0
  1677.             dc.w                $AAA3
  1678.         EndM
  1679.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1680.         IMPORT_CFM_FUNCTION CDSequenceDisposeMemory
  1681.     ENDIF
  1682.  
  1683. ;
  1684. ; pascal OSErr CDSequenceNewDataSource(ImageSequence seqID, ImageSequenceDataSource *sourceID, OSType sourceType, long sourceInputNumber, Handle dataDescription, void *transferProc, void *refCon)
  1685. ;
  1686.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1687.         Macro
  1688.         _CDSequenceNewDataSource
  1689.             move.l              #$001C0068,D0
  1690.             dc.w                $AAA3
  1691.         EndM
  1692.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1693.         IMPORT_CFM_FUNCTION CDSequenceNewDataSource
  1694.     ENDIF
  1695.  
  1696. ;
  1697. ; pascal OSErr CDSequenceDisposeDataSource(ImageSequenceDataSource sourceID)
  1698. ;
  1699.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1700.         Macro
  1701.         _CDSequenceDisposeDataSource
  1702.             move.l              #$00040069,D0
  1703.             dc.w                $AAA3
  1704.         EndM
  1705.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1706.         IMPORT_CFM_FUNCTION CDSequenceDisposeDataSource
  1707.     ENDIF
  1708.  
  1709. ;
  1710. ; pascal OSErr CDSequenceSetSourceData(ImageSequenceDataSource sourceID, void *data, long dataSize)
  1711. ;
  1712.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1713.         Macro
  1714.         _CDSequenceSetSourceData
  1715.             move.l              #$000C006A,D0
  1716.             dc.w                $AAA3
  1717.         EndM
  1718.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1719.         IMPORT_CFM_FUNCTION CDSequenceSetSourceData
  1720.     ENDIF
  1721.  
  1722. ;
  1723. ; pascal OSErr CDSequenceChangedSourceData(ImageSequenceDataSource sourceID)
  1724. ;
  1725.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1726.         Macro
  1727.         _CDSequenceChangedSourceData
  1728.             move.l              #$0004006B,D0
  1729.             dc.w                $AAA3
  1730.         EndM
  1731.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1732.         IMPORT_CFM_FUNCTION CDSequenceChangedSourceData
  1733.     ENDIF
  1734.  
  1735. ;
  1736. ; pascal OSErr CDSequenceSetSourceDataQueue(ImageSequenceDataSource sourceID, QHdrPtr dataQueue)
  1737. ;
  1738.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1739.         Macro
  1740.         _CDSequenceSetSourceDataQueue
  1741.             move.l              #$0008007B,D0
  1742.             dc.w                $AAA3
  1743.         EndM
  1744.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1745.         IMPORT_CFM_FUNCTION CDSequenceSetSourceDataQueue
  1746.     ENDIF
  1747.  
  1748. ;
  1749. ; pascal OSErr CDSequenceGetDataSource(ImageSequence seqID, ImageSequenceDataSource *sourceID, OSType sourceType, long sourceInputNumber)
  1750. ;
  1751.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1752.         Macro
  1753.         _CDSequenceGetDataSource
  1754.             move.l              #$0010007F,D0
  1755.             dc.w                $AAA3
  1756.         EndM
  1757.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1758.         IMPORT_CFM_FUNCTION CDSequenceGetDataSource
  1759.     ENDIF
  1760.  
  1761. ;
  1762. ; pascal OSErr PtInDSequenceData(ImageSequence seqID, void *data, Size dataSize, Point where, Boolean *hit)
  1763. ;
  1764.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1765.         Macro
  1766.         _PtInDSequenceData
  1767.             move.l              #$0014006C,D0
  1768.             dc.w                $AAA3
  1769.         EndM
  1770.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1771.         IMPORT_CFM_FUNCTION PtInDSequenceData
  1772.     ENDIF
  1773.  
  1774. ;
  1775. ; pascal OSErr HitTestDSequenceData(ImageSequence seqID, void *data, Size dataSize, Point where, long *hit, long hitFlags)
  1776. ;
  1777.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1778.         Macro
  1779.         _HitTestDSequenceData
  1780.             move.l              #$00060087,D0
  1781.             dc.w                $AAA3
  1782.         EndM
  1783.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1784.         IMPORT_CFM_FUNCTION HitTestDSequenceData
  1785.     ENDIF
  1786.  
  1787. ;
  1788. ; pascal OSErr GetGraphicsImporterForFile(const FSSpec *theFile, ComponentInstance *gi)
  1789. ;
  1790.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1791.         Macro
  1792.         _GetGraphicsImporterForFile
  1793.             move.l              #$0008006E,D0
  1794.             dc.w                $AAA3
  1795.         EndM
  1796.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1797.         IMPORT_CFM_FUNCTION GetGraphicsImporterForFile
  1798.     ENDIF
  1799.  
  1800. ;
  1801. ; pascal OSErr GetGraphicsImporterForDataRef(Handle dataRef, OSType dataRefType, ComponentInstance *gi)
  1802. ;
  1803.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1804.         Macro
  1805.         _GetGraphicsImporterForDataRef
  1806.             move.l              #$000C0077,D0
  1807.             dc.w                $AAA3
  1808.         EndM
  1809.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1810.         IMPORT_CFM_FUNCTION GetGraphicsImporterForDataRef
  1811.     ENDIF
  1812.  
  1813.  
  1814. kDontUseValidateToFindGraphicsImporter EQU $00000001
  1815. ;
  1816. ; pascal OSErr GetGraphicsImporterForFileWithFlags(const FSSpec *theFile, ComponentInstance *gi, long flags)
  1817. ;
  1818.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1819.         Macro
  1820.         _GetGraphicsImporterForFileWithFlags
  1821.             move.l              #$000C0084,D0
  1822.             dc.w                $AAA3
  1823.         EndM
  1824.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1825.         IMPORT_CFM_FUNCTION GetGraphicsImporterForFileWithFlags
  1826.     ENDIF
  1827.  
  1828. ;
  1829. ; pascal OSErr GetGraphicsImporterForDataRefWithFlags(Handle dataRef, OSType dataRefType, ComponentInstance *gi, long flags)
  1830. ;
  1831.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1832.         Macro
  1833.         _GetGraphicsImporterForDataRefWithFlags
  1834.             move.l              #$00100085,D0
  1835.             dc.w                $AAA3
  1836.         EndM
  1837.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1838.         IMPORT_CFM_FUNCTION GetGraphicsImporterForDataRefWithFlags
  1839.     ENDIF
  1840.  
  1841. ;
  1842. ; pascal OSErr QTGetFileNameExtension(ConstStrFileNameParam fileName, OSType fileType, OSType *extension)
  1843. ;
  1844.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1845.         Macro
  1846.         _QTGetFileNameExtension
  1847.             move.l              #$000C0061,D0
  1848.             dc.w                $AAA3
  1849.         EndM
  1850.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1851.         IMPORT_CFM_FUNCTION QTGetFileNameExtension
  1852.     ENDIF
  1853.  
  1854. ;
  1855. ; pascal OSErr ImageTranscodeSequenceBegin(ImageTranscodeSequence *its, ImageDescriptionHandle srcDesc, OSType destType, ImageDescriptionHandle *dstDesc, void *data, long dataSize)
  1856. ;
  1857.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1858.         Macro
  1859.         _ImageTranscodeSequenceBegin
  1860.             move.l              #$0018006F,D0
  1861.             dc.w                $AAA3
  1862.         EndM
  1863.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1864.         IMPORT_CFM_FUNCTION ImageTranscodeSequenceBegin
  1865.     ENDIF
  1866.  
  1867. ;
  1868. ; pascal OSErr ImageTranscodeSequenceEnd(ImageTranscodeSequence its)
  1869. ;
  1870.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1871.         Macro
  1872.         _ImageTranscodeSequenceEnd
  1873.             move.l              #$00040070,D0
  1874.             dc.w                $AAA3
  1875.         EndM
  1876.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1877.         IMPORT_CFM_FUNCTION ImageTranscodeSequenceEnd
  1878.     ENDIF
  1879.  
  1880. ;
  1881. ; pascal OSErr ImageTranscodeFrame(ImageTranscodeSequence its, void *srcData, long srcDataSize, void **dstData, long *dstDataSize)
  1882. ;
  1883.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1884.         Macro
  1885.         _ImageTranscodeFrame
  1886.             move.l              #$00140071,D0
  1887.             dc.w                $AAA3
  1888.         EndM
  1889.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1890.         IMPORT_CFM_FUNCTION ImageTranscodeFrame
  1891.     ENDIF
  1892.  
  1893. ;
  1894. ; pascal OSErr ImageTranscodeDisposeFrameData(ImageTranscodeSequence its, void *dstData)
  1895. ;
  1896.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1897.         Macro
  1898.         _ImageTranscodeDisposeFrameData
  1899.             move.l              #$00080072,D0
  1900.             dc.w                $AAA3
  1901.         EndM
  1902.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1903.         IMPORT_CFM_FUNCTION ImageTranscodeDisposeFrameData
  1904.     ENDIF
  1905.  
  1906. ;
  1907. ; pascal OSErr CDSequenceInvalidate(ImageSequence seqID, RgnHandle invalRgn)
  1908. ;
  1909.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1910.         Macro
  1911.         _CDSequenceInvalidate
  1912.             move.l              #$00080073,D0
  1913.             dc.w                $AAA3
  1914.         EndM
  1915.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1916.         IMPORT_CFM_FUNCTION CDSequenceInvalidate
  1917.     ENDIF
  1918.  
  1919. ;
  1920. ; pascal OSErr CDSequenceSetTimeBase(ImageSequence seqID, void *base)
  1921. ;
  1922.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1923.         Macro
  1924.         _CDSequenceSetTimeBase
  1925.             move.l              #$00080079,D0
  1926.             dc.w                $AAA3
  1927.         EndM
  1928.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1929.         IMPORT_CFM_FUNCTION CDSequenceSetTimeBase
  1930.     ENDIF
  1931.  
  1932. ;
  1933. ; pascal OSErr ImageFieldSequenceBegin(ImageFieldSequence *ifs, ImageDescriptionHandle desc1, ImageDescriptionHandle desc2, ImageDescriptionHandle descOut)
  1934. ;
  1935.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1936.         Macro
  1937.         _ImageFieldSequenceBegin
  1938.             move.l              #$0010006D,D0
  1939.             dc.w                $AAA3
  1940.         EndM
  1941.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1942.         IMPORT_CFM_FUNCTION ImageFieldSequenceBegin
  1943.     ENDIF
  1944.  
  1945. ;
  1946. ; pascal OSErr ImageFieldSequenceExtractCombine(ImageFieldSequence ifs, long fieldFlags, void *data1, long dataSize1, void *data2, long dataSize2, void *outputData, long *outDataSize)
  1947. ;
  1948.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1949.         Macro
  1950.         _ImageFieldSequenceExtractCombine
  1951.             move.l              #$00200075,D0
  1952.             dc.w                $AAA3
  1953.         EndM
  1954.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1955.         IMPORT_CFM_FUNCTION ImageFieldSequenceExtractCombine
  1956.     ENDIF
  1957.  
  1958. ;
  1959. ; pascal OSErr ImageFieldSequenceEnd(ImageFieldSequence ifs)
  1960. ;
  1961.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1962.         Macro
  1963.         _ImageFieldSequenceEnd
  1964.             move.l              #$00040076,D0
  1965.             dc.w                $AAA3
  1966.         EndM
  1967.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1968.         IMPORT_CFM_FUNCTION ImageFieldSequenceEnd
  1969.     ENDIF
  1970.  
  1971.  
  1972. kICMTempThenAppMemory            EQU        $00001000
  1973. kICMAppThenTempMemory            EQU        $00002000
  1974. ;
  1975. ; pascal OSErr QTNewGWorld(GWorldPtr *offscreenGWorld, OSType PixelFormat, const Rect *boundsRect, CTabHandle cTable, GDHandle aGDevice, GWorldFlags flags)
  1976. ;
  1977.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1978.         Macro
  1979.         _QTNewGWorld
  1980.             move.l              #$00180080,D0
  1981.             dc.w                $AAA3
  1982.         EndM
  1983.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1984.         IMPORT_CFM_FUNCTION QTNewGWorld
  1985.     ENDIF
  1986.  
  1987. ;
  1988. ; pascal GWorldFlags QTUpdateGWorld(GWorldPtr *offscreenGWorld, OSType PixelFormat, const Rect *boundsRect, CTabHandle cTable, GDHandle aGDevice, GWorldFlags flags)
  1989. ;
  1990.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1991.         Macro
  1992.         _QTUpdateGWorld
  1993.             move.l              #$00180081,D0
  1994.             dc.w                $AAA3
  1995.         EndM
  1996.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1997.         IMPORT_CFM_FUNCTION QTUpdateGWorld
  1998.     ENDIF
  1999.  
  2000. ;
  2001. ; pascal OSErr MakeImageDescriptionForPixMap(PixMapHandle pixmap, ImageDescriptionHandle *idh)
  2002. ;
  2003.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2004.         Macro
  2005.         _MakeImageDescriptionForPixMap
  2006.             move.l              #$0008007A,D0
  2007.             dc.w                $AAA3
  2008.         EndM
  2009.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2010.         IMPORT_CFM_FUNCTION MakeImageDescriptionForPixMap
  2011.     ENDIF
  2012.  
  2013. ;
  2014. ; pascal short QTGetPixelSize(OSType PixelFormat)
  2015. ;
  2016.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2017.         Macro
  2018.         _QTGetPixelSize
  2019.             move.l              #$00040086,D0
  2020.             dc.w                $AAA3
  2021.         EndM
  2022.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2023.         IMPORT_CFM_FUNCTION QTGetPixelSize
  2024.     ENDIF
  2025.  
  2026.  
  2027.  
  2028.  
  2029. identityMatrixType                EQU        $00                    ; result if matrix is identity 
  2030. translateMatrixType                EQU        $01                    ; result if matrix translates 
  2031. scaleMatrixType                    EQU        $02                    ; result if matrix scales 
  2032. scaleTranslateMatrixType        EQU        $03                    ; result if matrix scales and translates 
  2033. linearMatrixType                EQU        $04                    ; result if matrix is general 2 x 2 
  2034. linearTranslateMatrixType        EQU        $05                    ; result if matrix is general 2 x 2 and translates 
  2035. perspectiveMatrixType            EQU        $06                    ; result if matrix is general 3 x 3 
  2036. ; typedef unsigned short                 MatrixFlags
  2037.  
  2038. ;
  2039. ; pascal short GetMatrixType(const MatrixRecord *m)
  2040. ;
  2041.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2042.         Macro
  2043.         _GetMatrixType
  2044.             moveq               #20,D0
  2045.             dc.w                $ABC2
  2046.         EndM
  2047.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2048.         IMPORT_CFM_FUNCTION GetMatrixType
  2049.     ENDIF
  2050.  
  2051. ;
  2052. ; pascal void CopyMatrix(const MatrixRecord *m1, MatrixRecord *m2)
  2053. ;
  2054.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2055.         Macro
  2056.         _CopyMatrix
  2057.             moveq               #32,D0
  2058.             dc.w                $ABC2
  2059.         EndM
  2060.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2061.         IMPORT_CFM_FUNCTION CopyMatrix
  2062.     ENDIF
  2063.  
  2064. ;
  2065. ; pascal Boolean EqualMatrix(const MatrixRecord *m1, const MatrixRecord *m2)
  2066. ;
  2067.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2068.         Macro
  2069.         _EqualMatrix
  2070.             moveq               #33,D0
  2071.             dc.w                $ABC2
  2072.         EndM
  2073.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2074.         IMPORT_CFM_FUNCTION EqualMatrix
  2075.     ENDIF
  2076.  
  2077. ;
  2078. ; pascal void SetIdentityMatrix(MatrixRecord *matrix)
  2079. ;
  2080.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2081.         Macro
  2082.         _SetIdentityMatrix
  2083.             moveq               #21,D0
  2084.             dc.w                $ABC2
  2085.         EndM
  2086.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2087.         IMPORT_CFM_FUNCTION SetIdentityMatrix
  2088.     ENDIF
  2089.  
  2090. ;
  2091. ; pascal void TranslateMatrix(MatrixRecord *m, Fixed deltaH, Fixed deltaV)
  2092. ;
  2093.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2094.         Macro
  2095.         _TranslateMatrix
  2096.             moveq               #25,D0
  2097.             dc.w                $ABC2
  2098.         EndM
  2099.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2100.         IMPORT_CFM_FUNCTION TranslateMatrix
  2101.     ENDIF
  2102.  
  2103. ;
  2104. ; pascal void RotateMatrix(MatrixRecord *m, Fixed degrees, Fixed aboutX, Fixed aboutY)
  2105. ;
  2106.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2107.         Macro
  2108.         _RotateMatrix
  2109.             moveq               #22,D0
  2110.             dc.w                $ABC2
  2111.         EndM
  2112.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2113.         IMPORT_CFM_FUNCTION RotateMatrix
  2114.     ENDIF
  2115.  
  2116. ;
  2117. ; pascal void ScaleMatrix(MatrixRecord *m, Fixed scaleX, Fixed scaleY, Fixed aboutX, Fixed aboutY)
  2118. ;
  2119.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2120.         Macro
  2121.         _ScaleMatrix
  2122.             moveq               #23,D0
  2123.             dc.w                $ABC2
  2124.         EndM
  2125.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2126.         IMPORT_CFM_FUNCTION ScaleMatrix
  2127.     ENDIF
  2128.  
  2129. ;
  2130. ; pascal void SkewMatrix(MatrixRecord *m, Fixed skewX, Fixed skewY, Fixed aboutX, Fixed aboutY)
  2131. ;
  2132.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2133.         Macro
  2134.         _SkewMatrix
  2135.             moveq               #24,D0
  2136.             dc.w                $ABC2
  2137.         EndM
  2138.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2139.         IMPORT_CFM_FUNCTION SkewMatrix
  2140.     ENDIF
  2141.  
  2142. ;
  2143. ; pascal OSErr TransformFixedPoints(const MatrixRecord *m, FixedPoint *fpt, long count)
  2144. ;
  2145.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2146.         Macro
  2147.         _TransformFixedPoints
  2148.             moveq               #34,D0
  2149.             dc.w                $ABC2
  2150.         EndM
  2151.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2152.         IMPORT_CFM_FUNCTION TransformFixedPoints
  2153.     ENDIF
  2154.  
  2155. ;
  2156. ; pascal OSErr TransformPoints(const MatrixRecord *mp, Point *pt1, long count)
  2157. ;
  2158.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2159.         Macro
  2160.         _TransformPoints
  2161.             moveq               #35,D0
  2162.             dc.w                $ABC2
  2163.         EndM
  2164.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2165.         IMPORT_CFM_FUNCTION TransformPoints
  2166.     ENDIF
  2167.  
  2168. ;
  2169. ; pascal Boolean TransformFixedRect(const MatrixRecord *m, FixedRect *fr, FixedPoint *fpp)
  2170. ;
  2171.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2172.         Macro
  2173.         _TransformFixedRect
  2174.             moveq               #36,D0
  2175.             dc.w                $ABC2
  2176.         EndM
  2177.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2178.         IMPORT_CFM_FUNCTION TransformFixedRect
  2179.     ENDIF
  2180.  
  2181. ;
  2182. ; pascal Boolean TransformRect(const MatrixRecord *m, Rect *r, FixedPoint *fpp)
  2183. ;
  2184.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2185.         Macro
  2186.         _TransformRect
  2187.             moveq               #37,D0
  2188.             dc.w                $ABC2
  2189.         EndM
  2190.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2191.         IMPORT_CFM_FUNCTION TransformRect
  2192.     ENDIF
  2193.  
  2194. ;
  2195. ; pascal Boolean InverseMatrix(const MatrixRecord *m, MatrixRecord *im)
  2196. ;
  2197.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2198.         Macro
  2199.         _InverseMatrix
  2200.             moveq               #28,D0
  2201.             dc.w                $ABC2
  2202.         EndM
  2203.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2204.         IMPORT_CFM_FUNCTION InverseMatrix
  2205.     ENDIF
  2206.  
  2207. ;
  2208. ; pascal void ConcatMatrix(const MatrixRecord *a, MatrixRecord *b)
  2209. ;
  2210.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2211.         Macro
  2212.         _ConcatMatrix
  2213.             moveq               #27,D0
  2214.             dc.w                $ABC2
  2215.         EndM
  2216.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2217.         IMPORT_CFM_FUNCTION ConcatMatrix
  2218.     ENDIF
  2219.  
  2220. ;
  2221. ; pascal void RectMatrix(MatrixRecord *matrix, const Rect *srcRect, const Rect *dstRect)
  2222. ;
  2223.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2224.         Macro
  2225.         _RectMatrix
  2226.             moveq               #30,D0
  2227.             dc.w                $ABC2
  2228.         EndM
  2229.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2230.         IMPORT_CFM_FUNCTION RectMatrix
  2231.     ENDIF
  2232.  
  2233. ;
  2234. ; pascal void MapMatrix(MatrixRecord *matrix, const Rect *fromRect, const Rect *toRect)
  2235. ;
  2236.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2237.         Macro
  2238.         _MapMatrix
  2239.             moveq               #29,D0
  2240.             dc.w                $ABC2
  2241.         EndM
  2242.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2243.         IMPORT_CFM_FUNCTION MapMatrix
  2244.     ENDIF
  2245.  
  2246.  
  2247.  
  2248.  
  2249.  
  2250.  
  2251.  
  2252. ;
  2253. ; pascal void CompAdd(wide *src, wide *dst)
  2254. ;
  2255.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2256.         Macro
  2257.         _CompAdd
  2258.             moveq               #1,D0
  2259.             dc.w                $ABC2
  2260.         EndM
  2261.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2262.         IMPORT_CFM_FUNCTION CompAdd
  2263.     ENDIF
  2264.  
  2265. ;
  2266. ; pascal void CompSub(wide *src, wide *dst)
  2267. ;
  2268.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2269.         Macro
  2270.         _CompSub
  2271.             moveq               #2,D0
  2272.             dc.w                $ABC2
  2273.         EndM
  2274.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2275.         IMPORT_CFM_FUNCTION CompSub
  2276.     ENDIF
  2277.  
  2278. ;
  2279. ; pascal void CompNeg(wide *dst)
  2280. ;
  2281.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2282.         Macro
  2283.         _CompNeg
  2284.             moveq               #3,D0
  2285.             dc.w                $ABC2
  2286.         EndM
  2287.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2288.         IMPORT_CFM_FUNCTION CompNeg
  2289.     ENDIF
  2290.  
  2291. ;
  2292. ; pascal void CompShift(wide *src, short shift)
  2293. ;
  2294.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2295.         Macro
  2296.         _CompShift
  2297.             moveq               #4,D0
  2298.             dc.w                $ABC2
  2299.         EndM
  2300.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2301.         IMPORT_CFM_FUNCTION CompShift
  2302.     ENDIF
  2303.  
  2304. ;
  2305. ; pascal void CompMul(long src1, long src2, wide *dst)
  2306. ;
  2307.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2308.         Macro
  2309.         _CompMul
  2310.             moveq               #5,D0
  2311.             dc.w                $ABC2
  2312.         EndM
  2313.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2314.         IMPORT_CFM_FUNCTION CompMul
  2315.     ENDIF
  2316.  
  2317. ;
  2318. ; pascal long CompDiv(wide *numerator, long denominator, long *remainder)
  2319. ;
  2320.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2321.         Macro
  2322.         _CompDiv
  2323.             moveq               #6,D0
  2324.             dc.w                $ABC2
  2325.         EndM
  2326.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2327.         IMPORT_CFM_FUNCTION CompDiv
  2328.     ENDIF
  2329.  
  2330. ;
  2331. ; pascal void CompFixMul(wide *compSrc, Fixed fixSrc, wide *compDst)
  2332. ;
  2333.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2334.         Macro
  2335.         _CompFixMul
  2336.             moveq               #7,D0
  2337.             dc.w                $ABC2
  2338.         EndM
  2339.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2340.         IMPORT_CFM_FUNCTION CompFixMul
  2341.     ENDIF
  2342.  
  2343. ;
  2344. ; pascal void CompMulDiv(wide *co, long mul, long divisor)
  2345. ;
  2346.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2347.         Macro
  2348.         _CompMulDiv
  2349.             moveq               #8,D0
  2350.             dc.w                $ABC2
  2351.         EndM
  2352.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2353.         IMPORT_CFM_FUNCTION CompMulDiv
  2354.     ENDIF
  2355.  
  2356. ;
  2357. ; pascal void CompMulDivTrunc(wide *co, long mul, long divisor, long *remainder)
  2358. ;
  2359.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2360.         Macro
  2361.         _CompMulDivTrunc
  2362.             moveq               #12,D0
  2363.             dc.w                $ABC2
  2364.         EndM
  2365.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2366.         IMPORT_CFM_FUNCTION CompMulDivTrunc
  2367.     ENDIF
  2368.  
  2369. ;
  2370. ; pascal long CompCompare(wide *a, wide *minusb)
  2371. ;
  2372.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2373.         Macro
  2374.         _CompCompare
  2375.             moveq               #9,D0
  2376.             dc.w                $ABC2
  2377.         EndM
  2378.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2379.         IMPORT_CFM_FUNCTION CompCompare
  2380.     ENDIF
  2381.  
  2382. ;
  2383. ; pascal unsigned long CompSquareRoot(const wide *src)
  2384. ;
  2385.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2386.         Macro
  2387.         _CompSquareRoot
  2388.             moveq               #17,D0
  2389.             dc.w                $ABC2
  2390.         EndM
  2391.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2392.         IMPORT_CFM_FUNCTION CompSquareRoot
  2393.     ENDIF
  2394.  
  2395. ;
  2396. ; pascal Fixed FixMulDiv(Fixed src, Fixed mul, Fixed divisor)
  2397. ;
  2398.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2399.         Macro
  2400.         _FixMulDiv
  2401.             moveq               #10,D0
  2402.             dc.w                $ABC2
  2403.         EndM
  2404.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2405.         IMPORT_CFM_FUNCTION FixMulDiv
  2406.     ENDIF
  2407.  
  2408. ;
  2409. ; pascal Fixed UnsignedFixMulDiv(Fixed src, Fixed mul, Fixed divisor)
  2410. ;
  2411.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2412.         Macro
  2413.         _UnsignedFixMulDiv
  2414.             moveq               #13,D0
  2415.             dc.w                $ABC2
  2416.         EndM
  2417.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2418.         IMPORT_CFM_FUNCTION UnsignedFixMulDiv
  2419.     ENDIF
  2420.  
  2421. ;
  2422. ; pascal Fract FracSinCos(Fixed degree, Fract *cosOut)
  2423. ;
  2424.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2425.         Macro
  2426.         _FracSinCos
  2427.             moveq               #11,D0
  2428.             dc.w                $ABC2
  2429.         EndM
  2430.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2431.         IMPORT_CFM_FUNCTION FracSinCos
  2432.     ENDIF
  2433.  
  2434. ;
  2435. ; pascal Fixed FixExp2(Fixed src)
  2436. ;
  2437.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2438.         Macro
  2439.         _FixExp2
  2440.             moveq               #14,D0
  2441.             dc.w                $ABC2
  2442.         EndM
  2443.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2444.         IMPORT_CFM_FUNCTION FixExp2
  2445.     ENDIF
  2446.  
  2447. ;
  2448. ; pascal Fixed FixLog2(Fixed src)
  2449. ;
  2450.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2451.         Macro
  2452.         _FixLog2
  2453.             moveq               #15,D0
  2454.             dc.w                $ABC2
  2455.         EndM
  2456.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2457.         IMPORT_CFM_FUNCTION FixLog2
  2458.     ENDIF
  2459.  
  2460. ;
  2461. ; pascal Fixed FixPow(Fixed base, Fixed exp)
  2462. ;
  2463.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2464.         Macro
  2465.         _FixPow
  2466.             moveq               #16,D0
  2467.             dc.w                $ABC2
  2468.         EndM
  2469.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2470.         IMPORT_CFM_FUNCTION FixPow
  2471.     ENDIF
  2472.  
  2473.  
  2474.  
  2475.  
  2476. ; typedef ComponentInstance             GraphicsImportComponent
  2477.  
  2478.  
  2479. GraphicsImporterComponentType    EQU        'grip'
  2480.  
  2481. graphicsImporterUsesImageDecompressor EQU $00800000
  2482.  
  2483. quickTimeImageFileImageDescriptionAtom EQU 'idsc'
  2484. quickTimeImageFileImageDataAtom    EQU        'idat'
  2485. quickTimeImageFileMetaDataAtom    EQU        'meta'
  2486.  
  2487. graphicsImporterDrawsAllPixels    EQU        0
  2488. graphicsImporterDoesntDrawAllPixels EQU    1
  2489. graphicsImporterDontKnowIfDrawAllPixels EQU 2
  2490.  
  2491. kGraphicsExportGroup            EQU        'expo'
  2492. kGraphicsExportFileType            EQU        'ftyp'
  2493. kGraphicsExportMIMEType            EQU        'mime'
  2494. kGraphicsExportExtension        EQU        'ext '
  2495. kGraphicsExportDescription        EQU        'desc'
  2496.  
  2497. ; * These are GraphicsImport procedures *
  2498. ;
  2499. ; pascal ComponentResult GraphicsImportSetDataReference(GraphicsImportComponent ci, Handle dataRef, OSType dataReType)
  2500. ;
  2501.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2502.         Macro
  2503.         _GraphicsImportSetDataReference
  2504.             move.l              #$00080001,-(sp)
  2505.             moveq               #0,D0
  2506.             dc.w                $A82A
  2507.         EndM
  2508.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2509.         IMPORT_CFM_FUNCTION GraphicsImportSetDataReference
  2510.     ENDIF
  2511.  
  2512. ;
  2513. ; pascal ComponentResult GraphicsImportGetDataReference(GraphicsImportComponent ci, Handle *dataRef, OSType *dataReType)
  2514. ;
  2515.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2516.         Macro
  2517.         _GraphicsImportGetDataReference
  2518.             move.l              #$00080002,-(sp)
  2519.             moveq               #0,D0
  2520.             dc.w                $A82A
  2521.         EndM
  2522.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2523.         IMPORT_CFM_FUNCTION GraphicsImportGetDataReference
  2524.     ENDIF
  2525.  
  2526. ;
  2527. ; pascal ComponentResult GraphicsImportSetDataFile(GraphicsImportComponent ci, const FSSpec *theFile)
  2528. ;
  2529.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2530.         Macro
  2531.         _GraphicsImportSetDataFile
  2532.             move.l              #$00040003,-(sp)
  2533.             moveq               #0,D0
  2534.             dc.w                $A82A
  2535.         EndM
  2536.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2537.         IMPORT_CFM_FUNCTION GraphicsImportSetDataFile
  2538.     ENDIF
  2539.  
  2540. ;
  2541. ; pascal ComponentResult GraphicsImportGetDataFile(GraphicsImportComponent ci, FSSpec *theFile)
  2542. ;
  2543.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2544.         Macro
  2545.         _GraphicsImportGetDataFile
  2546.             move.l              #$00040004,-(sp)
  2547.             moveq               #0,D0
  2548.             dc.w                $A82A
  2549.         EndM
  2550.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2551.         IMPORT_CFM_FUNCTION GraphicsImportGetDataFile
  2552.     ENDIF
  2553.  
  2554. ;
  2555. ; pascal ComponentResult GraphicsImportSetDataHandle(GraphicsImportComponent ci, Handle h)
  2556. ;
  2557.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2558.         Macro
  2559.         _GraphicsImportSetDataHandle
  2560.             move.l              #$00040005,-(sp)
  2561.             moveq               #0,D0
  2562.             dc.w                $A82A
  2563.         EndM
  2564.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2565.         IMPORT_CFM_FUNCTION GraphicsImportSetDataHandle
  2566.     ENDIF
  2567.  
  2568. ;
  2569. ; pascal ComponentResult GraphicsImportGetDataHandle(GraphicsImportComponent ci, Handle *h)
  2570. ;
  2571.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2572.         Macro
  2573.         _GraphicsImportGetDataHandle
  2574.             move.l              #$00040006,-(sp)
  2575.             moveq               #0,D0
  2576.             dc.w                $A82A
  2577.         EndM
  2578.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2579.         IMPORT_CFM_FUNCTION GraphicsImportGetDataHandle
  2580.     ENDIF
  2581.  
  2582. ;
  2583. ; pascal ComponentResult GraphicsImportGetImageDescription(GraphicsImportComponent ci, ImageDescriptionHandle *desc)
  2584. ;
  2585.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2586.         Macro
  2587.         _GraphicsImportGetImageDescription
  2588.             move.l              #$00040007,-(sp)
  2589.             moveq               #0,D0
  2590.             dc.w                $A82A
  2591.         EndM
  2592.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2593.         IMPORT_CFM_FUNCTION GraphicsImportGetImageDescription
  2594.     ENDIF
  2595.  
  2596. ;
  2597. ; pascal ComponentResult GraphicsImportGetDataOffsetAndSize(GraphicsImportComponent ci, unsigned long *offset, unsigned long *size)
  2598. ;
  2599.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2600.         Macro
  2601.         _GraphicsImportGetDataOffsetAndSize
  2602.             move.l              #$00080008,-(sp)
  2603.             moveq               #0,D0
  2604.             dc.w                $A82A
  2605.         EndM
  2606.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2607.         IMPORT_CFM_FUNCTION GraphicsImportGetDataOffsetAndSize
  2608.     ENDIF
  2609.  
  2610. ;
  2611. ; pascal ComponentResult GraphicsImportReadData(GraphicsImportComponent ci, void *dataPtr, unsigned long dataOffset, unsigned long dataSize)
  2612. ;
  2613.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2614.         Macro
  2615.         _GraphicsImportReadData
  2616.             move.l              #$000C0009,-(sp)
  2617.             moveq               #0,D0
  2618.             dc.w                $A82A
  2619.         EndM
  2620.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2621.         IMPORT_CFM_FUNCTION GraphicsImportReadData
  2622.     ENDIF
  2623.  
  2624. ;
  2625. ; pascal ComponentResult GraphicsImportSetClip(GraphicsImportComponent ci, RgnHandle clipRgn)
  2626. ;
  2627.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2628.         Macro
  2629.         _GraphicsImportSetClip
  2630.             move.l              #$0004000A,-(sp)
  2631.             moveq               #0,D0
  2632.             dc.w                $A82A
  2633.         EndM
  2634.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2635.         IMPORT_CFM_FUNCTION GraphicsImportSetClip
  2636.     ENDIF
  2637.  
  2638. ;
  2639. ; pascal ComponentResult GraphicsImportGetClip(GraphicsImportComponent ci, RgnHandle *clipRgn)
  2640. ;
  2641.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2642.         Macro
  2643.         _GraphicsImportGetClip
  2644.             move.l              #$0004000B,-(sp)
  2645.             moveq               #0,D0
  2646.             dc.w                $A82A
  2647.         EndM
  2648.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2649.         IMPORT_CFM_FUNCTION GraphicsImportGetClip
  2650.     ENDIF
  2651.  
  2652. ;
  2653. ; pascal ComponentResult GraphicsImportSetSourceRect(GraphicsImportComponent ci, const Rect *sourceRect)
  2654. ;
  2655.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2656.         Macro
  2657.         _GraphicsImportSetSourceRect
  2658.             move.l              #$0004000C,-(sp)
  2659.             moveq               #0,D0
  2660.             dc.w                $A82A
  2661.         EndM
  2662.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2663.         IMPORT_CFM_FUNCTION GraphicsImportSetSourceRect
  2664.     ENDIF
  2665.  
  2666. ;
  2667. ; pascal ComponentResult GraphicsImportGetSourceRect(GraphicsImportComponent ci, Rect *sourceRect)
  2668. ;
  2669.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2670.         Macro
  2671.         _GraphicsImportGetSourceRect
  2672.             move.l              #$0004000D,-(sp)
  2673.             moveq               #0,D0
  2674.             dc.w                $A82A
  2675.         EndM
  2676.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2677.         IMPORT_CFM_FUNCTION GraphicsImportGetSourceRect
  2678.     ENDIF
  2679.  
  2680. ;
  2681. ; pascal ComponentResult GraphicsImportGetNaturalBounds(GraphicsImportComponent ci, Rect *naturalBounds)
  2682. ;
  2683.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2684.         Macro
  2685.         _GraphicsImportGetNaturalBounds
  2686.             move.l              #$0004000E,-(sp)
  2687.             moveq               #0,D0
  2688.             dc.w                $A82A
  2689.         EndM
  2690.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2691.         IMPORT_CFM_FUNCTION GraphicsImportGetNaturalBounds
  2692.     ENDIF
  2693.  
  2694. ;
  2695. ; pascal ComponentResult GraphicsImportDraw(GraphicsImportComponent ci)
  2696. ;
  2697.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2698.         Macro
  2699.         _GraphicsImportDraw
  2700.             move.l              #$0000000F,-(sp)
  2701.             moveq               #0,D0
  2702.             dc.w                $A82A
  2703.         EndM
  2704.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2705.         IMPORT_CFM_FUNCTION GraphicsImportDraw
  2706.     ENDIF
  2707.  
  2708. ;
  2709. ; pascal ComponentResult GraphicsImportSetGWorld(GraphicsImportComponent ci, CGrafPtr port, GDHandle gd)
  2710. ;
  2711.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2712.         Macro
  2713.         _GraphicsImportSetGWorld
  2714.             move.l              #$00080010,-(sp)
  2715.             moveq               #0,D0
  2716.             dc.w                $A82A
  2717.         EndM
  2718.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2719.         IMPORT_CFM_FUNCTION GraphicsImportSetGWorld
  2720.     ENDIF
  2721.  
  2722. ;
  2723. ; pascal ComponentResult GraphicsImportGetGWorld(GraphicsImportComponent ci, CGrafPtr *port, GDHandle *gd)
  2724. ;
  2725.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2726.         Macro
  2727.         _GraphicsImportGetGWorld
  2728.             move.l              #$00080011,-(sp)
  2729.             moveq               #0,D0
  2730.             dc.w                $A82A
  2731.         EndM
  2732.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2733.         IMPORT_CFM_FUNCTION GraphicsImportGetGWorld
  2734.     ENDIF
  2735.  
  2736. ;
  2737. ; pascal ComponentResult GraphicsImportSetMatrix(GraphicsImportComponent ci, const MatrixRecord *matrix)
  2738. ;
  2739.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2740.         Macro
  2741.         _GraphicsImportSetMatrix
  2742.             move.l              #$00040012,-(sp)
  2743.             moveq               #0,D0
  2744.             dc.w                $A82A
  2745.         EndM
  2746.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2747.         IMPORT_CFM_FUNCTION GraphicsImportSetMatrix
  2748.     ENDIF
  2749.  
  2750. ;
  2751. ; pascal ComponentResult GraphicsImportGetMatrix(GraphicsImportComponent ci, MatrixRecord *matrix)
  2752. ;
  2753.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2754.         Macro
  2755.         _GraphicsImportGetMatrix
  2756.             move.l              #$00040013,-(sp)
  2757.             moveq               #0,D0
  2758.             dc.w                $A82A
  2759.         EndM
  2760.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2761.         IMPORT_CFM_FUNCTION GraphicsImportGetMatrix
  2762.     ENDIF
  2763.  
  2764. ;
  2765. ; pascal ComponentResult GraphicsImportSetBoundsRect(GraphicsImportComponent ci, const Rect *bounds)
  2766. ;
  2767.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2768.         Macro
  2769.         _GraphicsImportSetBoundsRect
  2770.             move.l              #$00040014,-(sp)
  2771.             moveq               #0,D0
  2772.             dc.w                $A82A
  2773.         EndM
  2774.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2775.         IMPORT_CFM_FUNCTION GraphicsImportSetBoundsRect
  2776.     ENDIF
  2777.  
  2778. ;
  2779. ; pascal ComponentResult GraphicsImportGetBoundsRect(GraphicsImportComponent ci, Rect *bounds)
  2780. ;
  2781.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2782.         Macro
  2783.         _GraphicsImportGetBoundsRect
  2784.             move.l              #$00040015,-(sp)
  2785.             moveq               #0,D0
  2786.             dc.w                $A82A
  2787.         EndM
  2788.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2789.         IMPORT_CFM_FUNCTION GraphicsImportGetBoundsRect
  2790.     ENDIF
  2791.  
  2792. ;
  2793. ; pascal ComponentResult GraphicsImportSaveAsPicture(GraphicsImportComponent ci, const FSSpec *fss, ScriptCode scriptTag)
  2794. ;
  2795.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2796.         Macro
  2797.         _GraphicsImportSaveAsPicture
  2798.             move.l              #$00060016,-(sp)
  2799.             moveq               #0,D0
  2800.             dc.w                $A82A
  2801.         EndM
  2802.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2803.         IMPORT_CFM_FUNCTION GraphicsImportSaveAsPicture
  2804.     ENDIF
  2805.  
  2806. ;
  2807. ; pascal ComponentResult GraphicsImportSetGraphicsMode(GraphicsImportComponent ci, long graphicsMode, const RGBColor *opColor)
  2808. ;
  2809.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2810.         Macro
  2811.         _GraphicsImportSetGraphicsMode
  2812.             move.l              #$00080017,-(sp)
  2813.             moveq               #0,D0
  2814.             dc.w                $A82A
  2815.         EndM
  2816.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2817.         IMPORT_CFM_FUNCTION GraphicsImportSetGraphicsMode
  2818.     ENDIF
  2819.  
  2820. ;
  2821. ; pascal ComponentResult GraphicsImportGetGraphicsMode(GraphicsImportComponent ci, long *graphicsMode, RGBColor *opColor)
  2822. ;
  2823.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2824.         Macro
  2825.         _GraphicsImportGetGraphicsMode
  2826.             move.l              #$00080018,-(sp)
  2827.             moveq               #0,D0
  2828.             dc.w                $A82A
  2829.         EndM
  2830.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2831.         IMPORT_CFM_FUNCTION GraphicsImportGetGraphicsMode
  2832.     ENDIF
  2833.  
  2834. ;
  2835. ; pascal ComponentResult GraphicsImportSetQuality(GraphicsImportComponent ci, CodecQ quality)
  2836. ;
  2837.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2838.         Macro
  2839.         _GraphicsImportSetQuality
  2840.             move.l              #$00040019,-(sp)
  2841.             moveq               #0,D0
  2842.             dc.w                $A82A
  2843.         EndM
  2844.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2845.         IMPORT_CFM_FUNCTION GraphicsImportSetQuality
  2846.     ENDIF
  2847.  
  2848. ;
  2849. ; pascal ComponentResult GraphicsImportGetQuality(GraphicsImportComponent ci, CodecQ *quality)
  2850. ;
  2851.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2852.         Macro
  2853.         _GraphicsImportGetQuality
  2854.             move.l              #$0004001A,-(sp)
  2855.             moveq               #0,D0
  2856.             dc.w                $A82A
  2857.         EndM
  2858.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2859.         IMPORT_CFM_FUNCTION GraphicsImportGetQuality
  2860.     ENDIF
  2861.  
  2862. ;
  2863. ; pascal ComponentResult GraphicsImportSaveAsQuickTimeImageFile(GraphicsImportComponent ci, const FSSpec *fss, ScriptCode scriptTag)
  2864. ;
  2865.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2866.         Macro
  2867.         _GraphicsImportSaveAsQuickTimeImageFile
  2868.             move.l              #$0006001B,-(sp)
  2869.             moveq               #0,D0
  2870.             dc.w                $A82A
  2871.         EndM
  2872.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2873.         IMPORT_CFM_FUNCTION GraphicsImportSaveAsQuickTimeImageFile
  2874.     ENDIF
  2875.  
  2876. ;
  2877. ; pascal ComponentResult GraphicsImportSetDataReferenceOffsetAndLimit(GraphicsImportComponent ci, unsigned long offset, unsigned long limit)
  2878. ;
  2879.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2880.         Macro
  2881.         _GraphicsImportSetDataReferenceOffsetAndLimit
  2882.             move.l              #$0008001C,-(sp)
  2883.             moveq               #0,D0
  2884.             dc.w                $A82A
  2885.         EndM
  2886.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2887.         IMPORT_CFM_FUNCTION GraphicsImportSetDataReferenceOffsetAndLimit
  2888.     ENDIF
  2889.  
  2890. ;
  2891. ; pascal ComponentResult GraphicsImportGetDataReferenceOffsetAndLimit(GraphicsImportComponent ci, unsigned long *offset, unsigned long *limit)
  2892. ;
  2893.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2894.         Macro
  2895.         _GraphicsImportGetDataReferenceOffsetAndLimit
  2896.             move.l              #$0008001D,-(sp)
  2897.             moveq               #0,D0
  2898.             dc.w                $A82A
  2899.         EndM
  2900.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2901.         IMPORT_CFM_FUNCTION GraphicsImportGetDataReferenceOffsetAndLimit
  2902.     ENDIF
  2903.  
  2904. ;
  2905. ; pascal ComponentResult GraphicsImportGetAliasedDataReference(GraphicsImportComponent ci, Handle *dataRef, OSType *dataRefType)
  2906. ;
  2907.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2908.         Macro
  2909.         _GraphicsImportGetAliasedDataReference
  2910.             move.l              #$0008001E,-(sp)
  2911.             moveq               #0,D0
  2912.             dc.w                $A82A
  2913.         EndM
  2914.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2915.         IMPORT_CFM_FUNCTION GraphicsImportGetAliasedDataReference
  2916.     ENDIF
  2917.  
  2918. ;
  2919. ; pascal ComponentResult GraphicsImportValidate(GraphicsImportComponent ci, Boolean *valid)
  2920. ;
  2921.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2922.         Macro
  2923.         _GraphicsImportValidate
  2924.             move.l              #$0004001F,-(sp)
  2925.             moveq               #0,D0
  2926.             dc.w                $A82A
  2927.         EndM
  2928.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2929.         IMPORT_CFM_FUNCTION GraphicsImportValidate
  2930.     ENDIF
  2931.  
  2932. ;
  2933. ; pascal ComponentResult GraphicsImportGetMetaData(GraphicsImportComponent ci, void *userData)
  2934. ;
  2935.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2936.         Macro
  2937.         _GraphicsImportGetMetaData
  2938.             move.l              #$00040020,-(sp)
  2939.             moveq               #0,D0
  2940.             dc.w                $A82A
  2941.         EndM
  2942.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2943.         IMPORT_CFM_FUNCTION GraphicsImportGetMetaData
  2944.     ENDIF
  2945.  
  2946. ;
  2947. ; pascal ComponentResult GraphicsImportGetMIMETypeList(GraphicsImportComponent ci, void *qtAtomContainerPtr)
  2948. ;
  2949.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2950.         Macro
  2951.         _GraphicsImportGetMIMETypeList
  2952.             move.l              #$00040021,-(sp)
  2953.             moveq               #0,D0
  2954.             dc.w                $A82A
  2955.         EndM
  2956.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2957.         IMPORT_CFM_FUNCTION GraphicsImportGetMIMETypeList
  2958.     ENDIF
  2959.  
  2960. ;
  2961. ; pascal ComponentResult GraphicsImportDoesDrawAllPixels(GraphicsImportComponent ci, short *drawsAllPixels)
  2962. ;
  2963.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2964.         Macro
  2965.         _GraphicsImportDoesDrawAllPixels
  2966.             move.l              #$00040022,-(sp)
  2967.             moveq               #0,D0
  2968.             dc.w                $A82A
  2969.         EndM
  2970.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2971.         IMPORT_CFM_FUNCTION GraphicsImportDoesDrawAllPixels
  2972.     ENDIF
  2973.  
  2974. ;
  2975. ; pascal ComponentResult GraphicsImportGetAsPicture(GraphicsImportComponent ci, PicHandle *picture)
  2976. ;
  2977.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2978.         Macro
  2979.         _GraphicsImportGetAsPicture
  2980.             move.l              #$00040023,-(sp)
  2981.             moveq               #0,D0
  2982.             dc.w                $A82A
  2983.         EndM
  2984.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2985.         IMPORT_CFM_FUNCTION GraphicsImportGetAsPicture
  2986.     ENDIF
  2987.  
  2988. ;
  2989. ; pascal ComponentResult GraphicsImportExportImageFile(GraphicsImportComponent ci, OSType fileType, OSType fileCreator, const FSSpec *fss, ScriptCode scriptTag)
  2990. ;
  2991.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2992.         Macro
  2993.         _GraphicsImportExportImageFile
  2994.             move.l              #$000E0024,-(sp)
  2995.             moveq               #0,D0
  2996.             dc.w                $A82A
  2997.         EndM
  2998.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2999.         IMPORT_CFM_FUNCTION GraphicsImportExportImageFile
  3000.     ENDIF
  3001.  
  3002. ;
  3003. ; pascal ComponentResult GraphicsImportGetExportImageTypeList(GraphicsImportComponent ci, void *qtAtomContainerPtr)
  3004. ;
  3005.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3006.         Macro
  3007.         _GraphicsImportGetExportImageTypeList
  3008.             move.l              #$00040025,-(sp)
  3009.             moveq               #0,D0
  3010.             dc.w                $A82A
  3011.         EndM
  3012.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3013.         IMPORT_CFM_FUNCTION GraphicsImportGetExportImageTypeList
  3014.     ENDIF
  3015.  
  3016. ;
  3017. ; pascal ComponentResult GraphicsImportDoExportImageFileDialog(GraphicsImportComponent ci, const FSSpec *inDefaultSpec, StringPtr prompt, ModalFilterYDUPP filterProc, OSType *outExportedType, FSSpec *outExportedSpec, ScriptCode *outScriptTag)
  3018. ;
  3019.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3020.         Macro
  3021.         _GraphicsImportDoExportImageFileDialog
  3022.             move.l              #$00180026,-(sp)
  3023.             moveq               #0,D0
  3024.             dc.w                $A82A
  3025.         EndM
  3026.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3027.         IMPORT_CFM_FUNCTION GraphicsImportDoExportImageFileDialog
  3028.     ENDIF
  3029.  
  3030. ;
  3031. ; pascal ComponentResult GraphicsImportGetExportSettingsAsAtomContainer(GraphicsImportComponent ci, void *qtAtomContainerPtr)
  3032. ;
  3033.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3034.         Macro
  3035.         _GraphicsImportGetExportSettingsAsAtomContainer
  3036.             move.l              #$00040027,-(sp)
  3037.             moveq               #0,D0
  3038.             dc.w                $A82A
  3039.         EndM
  3040.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3041.         IMPORT_CFM_FUNCTION GraphicsImportGetExportSettingsAsAtomContainer
  3042.     ENDIF
  3043.  
  3044. ;
  3045. ; pascal ComponentResult GraphicsImportSetExportSettingsFromAtomContainer(GraphicsImportComponent ci, void *qtAtomContainer)
  3046. ;
  3047.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3048.         Macro
  3049.         _GraphicsImportSetExportSettingsFromAtomContainer
  3050.             move.l              #$00040028,-(sp)
  3051.             moveq               #0,D0
  3052.             dc.w                $A82A
  3053.         EndM
  3054.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3055.         IMPORT_CFM_FUNCTION GraphicsImportSetExportSettingsFromAtomContainer
  3056.     ENDIF
  3057.  
  3058. ;
  3059. ; pascal ComponentResult GraphicsImportSetProgressProc(GraphicsImportComponent ci, ICMProgressProcRecordPtr progressProc)
  3060. ;
  3061.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3062.         Macro
  3063.         _GraphicsImportSetProgressProc
  3064.             move.l              #$00040029,-(sp)
  3065.             moveq               #0,D0
  3066.             dc.w                $A82A
  3067.         EndM
  3068.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3069.         IMPORT_CFM_FUNCTION GraphicsImportSetProgressProc
  3070.     ENDIF
  3071.  
  3072. ;
  3073. ; pascal ComponentResult GraphicsImportGetProgressProc(GraphicsImportComponent ci, ICMProgressProcRecordPtr progressProc)
  3074. ;
  3075.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3076.         Macro
  3077.         _GraphicsImportGetProgressProc
  3078.             move.l              #$0004002A,-(sp)
  3079.             moveq               #0,D0
  3080.             dc.w                $A82A
  3081.         EndM
  3082.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3083.         IMPORT_CFM_FUNCTION GraphicsImportGetProgressProc
  3084.     ENDIF
  3085.  
  3086.  
  3087. ; typedef ComponentInstance             ImageTranscoderComponent
  3088.  
  3089.  
  3090. ImageTranscodererComponentType    EQU        'imtc'
  3091.  
  3092. ; * These are ImageTranscoder procedures *
  3093. ;
  3094. ; pascal ComponentResult ImageTranscoderBeginSequence(ImageTranscoderComponent itc, ImageDescriptionHandle srcDesc, ImageDescriptionHandle *dstDesc, void *data, long dataSize)
  3095. ;
  3096.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3097.         Macro
  3098.         _ImageTranscoderBeginSequence
  3099.             move.l              #$00100001,-(sp)
  3100.             moveq               #0,D0
  3101.             dc.w                $A82A
  3102.         EndM
  3103.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3104.         IMPORT_CFM_FUNCTION ImageTranscoderBeginSequence
  3105.     ENDIF
  3106.  
  3107. ;
  3108. ; pascal ComponentResult ImageTranscoderConvert(ImageTranscoderComponent itc, void *srcData, long srcDataSize, void **dstData, long *dstDataSize)
  3109. ;
  3110.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3111.         Macro
  3112.         _ImageTranscoderConvert
  3113.             move.l              #$00100002,-(sp)
  3114.             moveq               #0,D0
  3115.             dc.w                $A82A
  3116.         EndM
  3117.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3118.         IMPORT_CFM_FUNCTION ImageTranscoderConvert
  3119.     ENDIF
  3120.  
  3121. ;
  3122. ; pascal ComponentResult ImageTranscoderDisposeData(ImageTranscoderComponent itc, void *dstData)
  3123. ;
  3124.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3125.         Macro
  3126.         _ImageTranscoderDisposeData
  3127.             move.l              #$00040003,-(sp)
  3128.             moveq               #0,D0
  3129.             dc.w                $A82A
  3130.         EndM
  3131.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3132.         IMPORT_CFM_FUNCTION ImageTranscoderDisposeData
  3133.     ENDIF
  3134.  
  3135. ;
  3136. ; pascal ComponentResult ImageTranscoderEndSequence(ImageTranscoderComponent itc)
  3137. ;
  3138.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3139.         Macro
  3140.         _ImageTranscoderEndSequence
  3141.             move.l              #$00000004,-(sp)
  3142.             moveq               #0,D0
  3143.             dc.w                $A82A
  3144.         EndM
  3145.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3146.         IMPORT_CFM_FUNCTION ImageTranscoderEndSequence
  3147.     ENDIF
  3148.  
  3149. ;  UPP call backs 
  3150.     ENDIF ; __IMAGECOMPRESSION__ 
  3151.  
  3152.